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
|