From: Zachary Amsden In paravirt builds with VMI compiled in, vmi_bringup is called unconditionally, not via a paravirt-ops table (as no other hypervisor uses the APIC startup technique). Make the calls to setup VMI state conditional on the presence of the VMI ROM. Signed-off-by: Zachary Amsden Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Rusty Russell Cc: Chris Wright Signed-off-by: Andrew Morton --- arch/i386/kernel/vmi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN arch/i386/kernel/vmi.c~paravirt-vmi-backend-for-paravirt-ops-native-fix arch/i386/kernel/vmi.c --- a/arch/i386/kernel/vmi.c~paravirt-vmi-backend-for-paravirt-ops-native-fix +++ a/arch/i386/kernel/vmi.c @@ -630,7 +630,8 @@ static inline int __init probe_vmi_rom(v void vmi_bringup(void) { /* We must establish the lowmem mapping for MMU ops to work */ - vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); + if (vmi_rom) + vmi_ops.set_linear_mapping(0, __PAGE_OFFSET, max_low_pfn, 0); } /* _