diff --git a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h index 368081e523..c2b779bfea 100644 --- a/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypercall.h @@ -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 #include #define _hypercall_imm1(type, name, imm, a1) \ @@ -419,6 +420,10 @@ HYPERVISOR_ioremap(unsigned long ioaddr, unsigned long size) 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; }