[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Patch][RFC] fix PAL_HALT ( is Re: [Xen-ia64-devel] [RFC] dump core is failed for PAL_HALT)



Hi, Isaku and Tristan

Thank you for your comments.

>> Probably modifying machine_reboot() and machine_power_off()
>> needs modification(paravirtualization) to call shutdown hypercall.
>I think all the paravirtualization can be done through EFI+PAL calls.
I fix by using notifier_call and I can shutdown domU.
But I don't try domVTi.
Must we be care about shutdown process of OSes on domVTi?
What do you think?

diff -r dc4a69e66104 linux-2.6-xen-sparse/arch/ia64/kernel/setup.c
--- a/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c     Fri Jan 19 13:27:52 
2007 
+0900
+++ b/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c     Wed Jan 24 19:27:09 
2007 
+0900
@@ -64,6 +64,7 @@
 #ifdef CONFIG_XEN
 #include <asm/hypervisor.h>
 #include <asm/xen/xencomm.h>
+#include <asm/kdebug.h>
 #endif
 #include <linux/dma-mapping.h>
 
@@ -95,6 +96,19 @@ xen_panic_event(struct notifier_block *t
 
 static struct notifier_block xen_panic_block = {
        xen_panic_event, NULL, 0 /* try to go last */
+};
+
+static int
+xen_poweroff_event(struct notifier_block *this, unsigned long event, void *ptr)
+{
+       if ( event == DIE_MACHINE_HALT )
+               HYPERVISOR_shutdown(SHUTDOWN_poweroff);
+
+       return NOTIFY_DONE;
+}
+
+static struct notifier_block xen_poweroff_block = {
+       xen_poweroff_event, NULL, 0 /* try to go last */
 };
 #endif
 
@@ -448,6 +462,7 @@ setup_arch (char **cmdline_p)
                setup_xen_features();
                /* Register a call for panic conditions. */
                notifier_chain_register(&panic_notifier_list, &xen_panic_block);
+               notifier_chain_register(&ia64die_chain, &xen_poweroff_block);
        }
 #endif


Best Regards,

Akio Takebe


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.