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

[Xen-changelog] [IA64] panic when ioremap hypercall fails.



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 2fa8573b248f78f716a8926b29e294f97e99e631
# Parent  d2f6e3d70f223f37ef468ffe7a5dcaa82cfc7c1e
[IA64] panic when ioremap hypercall fails.

This can occur when dom0 vp model xenlinux is used on P=M model xen/ia64.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 linux-2.6-xen-sparse/include/asm-ia64/hypercall.h |    5 +++++
 1 files changed, 5 insertions(+)

diff -r d2f6e3d70f22 -r 2fa8573b248f 
linux-2.6-xen-sparse/include/asm-ia64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Wed May 17 16:31:46 
2006 -0600
+++ b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h Thu May 18 14:05:30 
2006 -0600
@@ -318,6 +318,7 @@ static inline void exit_idle(void) {}
 #define do_IRQ(irq, regs) __do_IRQ((irq), (regs))
 
 #ifdef CONFIG_XEN_IA64_DOM0_VP
+#include <linux/err.h>
 #include <asm/xen/privop.h>
 
 #define _hypercall_imm1(type, name, imm, a1)                   \
@@ -419,6 +420,10 @@ HYPERVISOR_ioremap(unsigned long ioaddr,
        unsigned long ret = ioaddr;
        if (running_on_xen) {
                ret = __HYPERVISOR_ioremap(ioaddr, size);
+               if (unlikely(IS_ERR_VALUE(ret)))
+                       panic("hypercall %s failed with %ld. "
+                             "Please check Xen and Linux config mismatch\n",
+                             __func__, -ret);
        }
        return ret;
 }

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


 


Rackspace

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