Message ID | 20210816111927.16913-3-jane.malalane@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xen/pv: Improvements to construct_dom0() | expand |
On 16.08.2021 13:19, Jane Malalane wrote: > 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>
diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c index 8712baccc1..d5a1a6a4e2 100644 --- a/xen/arch/x86/pv/dom0_build.c +++ b/xen/arch/x86/pv/dom0_build.c @@ -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);
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> --- CC: Jan Beulich <jbeulich@suse.com> CC: Andrew Cooper <andrew.cooper3@citrix.com> CC: "Roger Pau Monné" <roger.pau@citrix.com> CC: Wei Liu <wl@xen.org> v2: * switch to EOPNOTSUPP --- xen/arch/x86/pv/dom0_build.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)