WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-api

[Xen-API] [PATCH] Add a method to trigger a power button push in a domai

To: xen-api@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-API] [PATCH] Add a method to trigger a power button push in a domain
From: Paul Durrant <paul.durrant@xxxxxxxxxx>
Date: Tue, 22 Dec 2009 16:26:50 +0000
Delivery-date: Wed, 23 Dec 2009 03:41:06 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-api-request@lists.xensource.com?subject=help>
List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>
List-post: <mailto:xen-api@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-api-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Paul Durrant <paul.durrant@xxxxxxxxxx>
# Date 1261498945 0
# Node ID aad2380e0a84178812a98ac2e902703eeb2e2d6e
# Parent  f90fee6d3af6f9fd1896e0b588143c0b229b0113
Add a method to trigger a power button push in a domain

signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>

diff -r f90fee6d3af6 -r aad2380e0a84 domain-trigger-power
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/domain-trigger-power      Tue Dec 22 16:22:25 2009 +0000
@@ -0,0 +1,76 @@
+diff -r f520cfefb3a7 xc/xc.h
+--- a/xc/xc.h  Tue Dec 22 10:02:15 2009 +0000
++++ b/xc/xc.h  Tue Dec 22 16:11:37 2009 +0000
+@@ -184,6 +184,7 @@
+ int xc_domain_set_hpet(int handle, unsigned int domid, int hpet);
+ int xc_domain_set_timer_mode(int handle, unsigned int domid, int mode);
+ int xc_domain_get_acpi_s_state(int handle, unsigned int domid);
++int xc_domain_trigger_power(int handle, unsigned int domid);
+ 
+ #if XEN_SYSCTL_INTERFACE_VERSION >= 6
+ #define SAFEDIV(a, b)                                 (((b) >= 0) ? (a) / (b) 
: (a))
+diff -r f520cfefb3a7 xc/xc.ml
+--- a/xc/xc.ml Tue Dec 22 10:02:15 2009 +0000
++++ b/xc/xc.ml Tue Dec 22 16:11:37 2009 +0000
+@@ -253,6 +253,8 @@
+ external domain_send_s3resume: handle -> domid -> unit = 
"stub_xc_domain_send_s3resume"
+ external domain_get_acpi_s_state: handle -> domid -> int = 
"stub_xc_domain_get_acpi_s_state"
+ 
++external domain_trigger_power: handle -> domid -> unit = 
"stub_xc_domain_trigger_power"
++
+ (** check if some hvm domain got pv driver or not *)
+ external hvm_check_pvdriver: handle -> domid -> bool
+        = "stub_xc_hvm_check_pvdriver"
+diff -r f520cfefb3a7 xc/xc.mli
+--- a/xc/xc.mli        Tue Dec 22 10:02:15 2009 +0000
++++ b/xc/xc.mli        Tue Dec 22 16:11:37 2009 +0000
+@@ -166,6 +166,9 @@
+   = "stub_xc_domain_send_s3resume"
+ external domain_get_acpi_s_state: handle -> domid -> int = 
"stub_xc_domain_get_acpi_s_state"
+ 
++external domain_trigger_power: handle -> domid -> unit
++  = "stub_xc_domain_trigger_power"
++
+ external hvm_check_pvdriver : handle -> domid -> bool
+   = "stub_xc_hvm_check_pvdriver"
+ external version : handle -> version = "stub_xc_version_version"
+diff -r f520cfefb3a7 xc/xc_lib.c
+--- a/xc/xc_lib.c      Tue Dec 22 10:02:15 2009 +0000
++++ b/xc/xc_lib.c      Tue Dec 22 16:11:37 2009 +0000
+@@ -1549,6 +1549,19 @@
+       return rc;
+ }
+ 
++int xc_domain_trigger_power(int handle, unsigned int domid)
++{
++    int ret;
++
++    DECLARE_DOMCTL(XEN_DOMCTL_sendtrigger, domid);
++    domctl.u.sendtrigger.trigger = XEN_DOMCTL_SENDTRIGGER_POWER;
++
++      ret = do_domctl(handle, &domctl);
++      if (ret != 0)
++              xc_error_set("power button failed: %s", xc_error_get());
++    return ret;
++}
++
+ /*
+  * Local variables:
+  *  indent-tabs-mode: t
+diff -r f520cfefb3a7 xc/xc_stubs.c
+--- a/xc/xc_stubs.c    Tue Dec 22 10:02:15 2009 +0000
++++ b/xc/xc_stubs.c    Tue Dec 22 16:11:37 2009 +0000
+@@ -1209,6 +1209,13 @@
+       CAMLreturn(Val_unit);
+ }
+ 
++CAMLprim value stub_xc_domain_trigger_power(value handle, value domid)
++{
++      CAMLparam2(handle, domid);
++      xc_domain_trigger_power(_H(handle), _D(domid));
++      CAMLreturn(Val_unit);
++}
++
+ /*
+  * Local variables:
+  *  indent-tabs-mode: t
diff -r f90fee6d3af6 -r aad2380e0a84 series
--- a/series    Mon Dec 21 18:17:38 2009 +0000
+++ b/series    Tue Dec 22 16:22:25 2009 +0000
@@ -1,1 +1,2 @@
 dummy
+domain-trigger-power

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-API] [PATCH] Add a method to trigger a power button push in a domain, Paul Durrant <=