Mailing List Archive

[IA64] panic when ioremap hypercall fails.
# HG changeset patch
# User awilliam@xenbuild.aw
# 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@valinux.co.jp>
---
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@lists.xensource.com
http://lists.xensource.com/xen-changelog