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/
Home Products Support Community News


[Xen-changelog] On x86/64 a domU kernel just sits around forever on a pa

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] On x86/64 a domU kernel just sits around forever on a panic because
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 22 Mar 2006 10:54:09 +0000
Delivery-date: Wed, 22 Mar 2006 10:55:48 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 5032ee221f7587577f1f8a4ecbcaa0f23c497a0e
# Parent  573bb82d0402212409f264fd67e731b2ff4d8376
On x86/64 a domU kernel just sits around forever on a panic because
the HV doesn't know it crashed.  This patch sends the signal, which
allows the kernel to be cleaned up (according to whatever guest.conf
rules). It is basically copied and pasted from the i386 branch.

From: Don Zickus
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r 573bb82d0402 -r 5032ee221f75 
--- a/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c       Wed Mar 22 
09:36:22 2006
+++ b/linux-2.6-xen-sparse/arch/x86_64/kernel/setup-xen.c       Wed Mar 22 
09:38:44 2006
@@ -93,6 +93,11 @@
 /* Allows setting of maximum possible memory size  */
 unsigned long xen_override_max_pfn;
+static int xen_panic_event(struct notifier_block *, unsigned long, void *);
+static struct notifier_block xen_panic_block = {
+       xen_panic_event, NULL, 0 /* try to go last */
 unsigned long *phys_to_machine_mapping;
 unsigned long *pfn_to_mfn_frame_list_list, *pfn_to_mfn_frame_list[512];
@@ -634,6 +639,9 @@
        unsigned long kernel_end;
 #ifdef CONFIG_XEN
+       /* Register a call for panic conditions. */
+       notifier_chain_register(&panic_notifier_list, &xen_panic_block);
        kernel_end = 0;         /* dummy */
        screen_info = SCREEN_INFO;
@@ -988,6 +996,17 @@
 #endif /* !CONFIG_XEN */
+#ifdef CONFIG_XEN
+static int
+xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
+       HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_crash);
+       /* we're never actually going to get here... */
+       return NOTIFY_DONE;
+#endif /* !CONFIG_XEN */
 static int __cpuinit get_model_name(struct cpuinfo_x86 *c)

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] On x86/64 a domU kernel just sits around forever on a panic because, Xen patchbot -unstable <=