Re: [PATCH v7 16/19] xen: add shutdown hook for PVH

2013-12-24 Thread John Baldwin
On Thursday, December 19, 2013 1:54:53 pm Roger Pau Monne wrote:
 Add the PV shutdown hook to PVH.
 ---
  sys/dev/xen/control/control.c |   37 ++---
  1 files changed, 18 insertions(+), 19 deletions(-)

This looks fine to me.

-- 
John Baldwin
___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to freebsd-xen-unsubscr...@freebsd.org


[PATCH v7 16/19] xen: add shutdown hook for PVH

2013-12-19 Thread Roger Pau Monne
Add the PV shutdown hook to PVH.
---
 sys/dev/xen/control/control.c |   37 ++---
 1 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c
index bc0609d..78894ba 100644
--- a/sys/dev/xen/control/control.c
+++ b/sys/dev/xen/control/control.c
@@ -316,21 +316,6 @@ xctrl_suspend()
EVENTHANDLER_INVOKE(power_resume);
 }
 
-static void
-xen_pv_shutdown_final(void *arg, int howto)
-{
-   /*
-* Inform the hypervisor that shutdown is complete.
-* This is not necessary in HVM domains since Xen
-* emulates ACPI in that mode and FreeBSD's ACPI
-* support will request this transition.
-*/
-   if (howto  (RB_HALT | RB_POWEROFF))
-   HYPERVISOR_shutdown(SHUTDOWN_poweroff);
-   else
-   HYPERVISOR_shutdown(SHUTDOWN_reboot);
-}
-
 #else
 
 /* HVM mode suspension. */
@@ -440,6 +425,21 @@ xctrl_crash()
panic(Xen directed crash);
 }
 
+static void
+xen_pv_shutdown_final(void *arg, int howto)
+{
+   /*
+* Inform the hypervisor that shutdown is complete.
+* This is not necessary in HVM domains since Xen
+* emulates ACPI in that mode and FreeBSD's ACPI
+* support will request this transition.
+*/
+   if (howto  (RB_HALT | RB_POWEROFF))
+   HYPERVISOR_shutdown(SHUTDOWN_poweroff);
+   else
+   HYPERVISOR_shutdown(SHUTDOWN_reboot);
+}
+
 /*-- Event Reception 
-*/
 static void
 xctrl_on_watch_event(struct xs_watch *watch, const char **vec, unsigned int 
len)
@@ -522,10 +522,9 @@ xctrl_attach(device_t dev)
xctrl-xctrl_watch.callback_data = (uintptr_t)xctrl;
xs_register_watch(xctrl-xctrl_watch);
 
-#ifndef XENHVM
-   EVENTHANDLER_REGISTER(shutdown_final, xen_pv_shutdown_final, NULL,
- SHUTDOWN_PRI_LAST);
-#endif
+   if (xen_pv_domain())
+   EVENTHANDLER_REGISTER(shutdown_final, xen_pv_shutdown_final, 
NULL,
+ SHUTDOWN_PRI_LAST);
 
return (0);
 }
-- 
1.7.7.5 (Apple Git-26)

___
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to freebsd-xen-unsubscr...@freebsd.org