aboutsummaryrefslogtreecommitdiffstats
path: root/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-02-13 10:42:09 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-02-13 10:42:09 +0000
commit5ffec49444facf629f9cb4eab0cefa4433428d6e (patch)
tree7e8f86248ec4e1c067293cdd6216e89c28d69df5 /unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
parentafb567f7aac1201990530db17bc9f98e3c9f92b7 (diff)
downloadxen-5ffec49444facf629f9cb4eab0cefa4433428d6e.tar.gz
xen-5ffec49444facf629f9cb4eab0cefa4433428d6e.tar.bz2
xen-5ffec49444facf629f9cb4eab0cefa4433428d6e.zip
pv-on-hvm: Signal crash to Xen tools when HVM guest panics.
Attached patch adds a function to automatically dump core file when guest linux on HVM domain panics, in the same way as PV domain. I tested this patch with kernel 2.6.9 and 2.6.18 on both of x86 and ia64 (to buid for ia64, some patches in the ia64 tree are needed) by the following steps, and confirmed it works well: 1. Build xen-platform-pci.ko. 2. In /etc/xen/xend-config.sxp, set (enable-dump yes). 3. On guest linux, execute insmod: # insmod xen-platform-pci.ko 4. When guest linux panics, a core file is dumped. Signed-off-by: Tetsu Yamamoto <yamamoto.tetsu@jp.fujitsu.com>
Diffstat (limited to 'unmodified_drivers/linux-2.6/platform-pci/platform-pci.c')
-rw-r--r--unmodified_drivers/linux-2.6/platform-pci/platform-pci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
index 7a512073d2..3d3a4c79a1 100644
--- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -249,6 +249,7 @@ static int set_callback_via(uint64_t via)
int xen_irq_init(struct pci_dev *pdev);
int xenbus_init(void);
int xen_reboot_init(void);
+int xen_panic_handler_init(void);
int gnttab_init(void);
static int __devinit platform_pci_init(struct pci_dev *pdev,
@@ -317,6 +318,9 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
if ((ret = xen_reboot_init()))
goto out;
+ if ((ret = xen_panic_handler_init()))
+ goto out;
+
out:
if (ret) {
release_mem_region(mmio_addr, mmio_len);