Messages in this thread | | | Date | Thu, 24 Nov 2022 14:28:18 +0100 | From | Borislav Petkov <> | Subject | Re: [PATCH v3] x86/boot: skip realmode init code when running as Xen PV guest |
| |
On Wed, Nov 23, 2022 at 12:45:23PM +0100, Juergen Gross wrote: > When running as a Xen PV guest there is no need for setting up the > realmode trampoline, as realmode isn't supported in this environment. > > Trying to setup the trampoline has been proven to be problematic in > some cases, especially when trying to debug early boot problems with > Xen requiring to keep the EFI boot-services memory mapped (some > firmware variants seem to claim basically all memory below 1M for boot > services). > > Introduce new x86_platform_ops operations for that purpose, which can > be set to a nop by the Xen PV specific kernel boot code. > > Fixes: 084ee1c641a0 ("x86, realmode: Relocator for realmode code")
This text and Fixes: tag sounds like this needs to go to Linus and stable now?
> diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c > index 41d7669a97ad..247aca9f8ed1 100644 > --- a/arch/x86/realmode/init.c > +++ b/arch/x86/realmode/init.c > @@ -200,14 +200,18 @@ static void __init set_real_mode_permissions(void) > set_memory_x((unsigned long) text_start, text_size >> PAGE_SHIFT); > } > > -static int __init init_real_mode(void) > +void __init init_real_mode(void) > { > if (!real_mode_header) > panic("Real mode trampoline was not allocated"); > > setup_real_mode(); > set_real_mode_permissions(); > +} > > +static int __init call_init_real_mode(void) > +{ > + x86_platform.realmode_init(); > return 0; > } > -early_initcall(init_real_mode); > +early_initcall(call_init_real_mode);
I'll name that one "do_init_real_mode" as "call init" sounds weird.
Otherwise, it is as straightforward as it gets.
Thx.
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |