mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
x86/pv: provide more helpful error when CONFIG_PV32 is absent
Currently, when booting a 32bit dom0 kernel, the message isn't very helpful: (XEN) Xen kernel: 64-bit, lsb (XEN) Dom0 kernel: 32-bit, PAE, lsb, paddr 0x100000 -> 0x112000 (XEN) Mismatch between Xen and DOM0 kernel (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) Could not construct domain 0 (XEN) **************************************** With this adjustment, it now looks like this: (XEN) Xen kernel: 64-bit, lsb (XEN) Found 32-bit PV kernel, but CONFIG_PV32 missing (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) Could not construct domain 0 (XEN) **************************************** Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Jane Malalane <jane.malalane@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
c53aa9e655
commit
2e5512d1ff
1 file changed
+5
-2
@@ -362,9 +362,9 @@ int __init dom0_construct_pv(struct domain *d,
|
||||
compatible = false;
|
||||
machine = elf_uval(&elf, elf.ehdr, e_machine);
|
||||
|
||||
#ifdef CONFIG_PV32
|
||||
if ( elf_32bit(&elf) )
|
||||
{
|
||||
#ifdef CONFIG_PV32
|
||||
if ( parms.pae == XEN_PAE_BIMODAL )
|
||||
parms.pae = XEN_PAE_EXTCR3;
|
||||
if ( parms.pae && machine == EM_386 )
|
||||
@@ -377,8 +377,11 @@ int __init dom0_construct_pv(struct domain *d,
|
||||
|
||||
compatible = true;
|
||||
}
|
||||
}
|
||||
#else
|
||||
printk("Found 32-bit PV kernel, but CONFIG_PV32 missing\n");
|
||||
return -EOPNOTSUPP;
|
||||
#endif
|
||||
}
|
||||
|
||||
compat = is_pv_32bit_domain(d);
|
||||
|
||||
|
||||