# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 47fc48740d45399f5d527285b4225dd11dec9355
# Parent c8bc76d877e02b3ef6ce4dd9c680bf5f5aae14d7
[IA64] Support domU coredump on ia64
This patch supports domU coredump on ia64. xen_panic_event() is
registered to panic_notifier_list, and xen_panic_event() calls
HYPERVISOR_shutdown(SHUTDOWN_crash) at panic time.
If xend is notified of crash status, xend calls dumpCore()
and create domU's core in /var/xen/dump.
For sample crash module and usage, see:
http://lists.xensource.com/archives/html/xen-ia64-devel/2006-07/msg00230.html
Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
[minor code re-arrangement]
Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
linux-2.6-xen-sparse/arch/ia64/kernel/setup.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletion(-)
diff -r c8bc76d877e0 -r 47fc48740d45
linux-2.6-xen-sparse/arch/ia64/kernel/setup.c
--- a/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c Mon Jul 24 13:48:12
2006 -0600
+++ b/linux-2.6-xen-sparse/arch/ia64/kernel/setup.c Mon Jul 24 14:26:03
2006 -0600
@@ -75,6 +75,20 @@ EXPORT_SYMBOL(__per_cpu_offset);
EXPORT_SYMBOL(__per_cpu_offset);
#endif
+#ifdef CONFIG_XEN
+static int
+xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
+{
+ HYPERVISOR_shutdown(SHUTDOWN_crash);
+ /* we're never actually going to get here... */
+ return NOTIFY_DONE;
+}
+
+static struct notifier_block xen_panic_block = {
+ xen_panic_event, NULL, 0 /* try to go last */
+};
+#endif
+
extern void ia64_setup_printk_clock(void);
DEFINE_PER_CPU(struct cpuinfo_ia64, cpu_info);
@@ -418,8 +432,11 @@ setup_arch (char **cmdline_p)
unw_init();
#ifdef CONFIG_XEN
- if (is_running_on_xen())
+ if (is_running_on_xen()) {
setup_xen_features();
+ /* Register a call for panic conditions. */
+ notifier_chain_register(&panic_notifier_list, &xen_panic_block);
+ }
#endif
ia64_patch_vtop((u64) __start___vtop_patchlist, (u64)
__end___vtop_patchlist);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|