Messages in this thread | | | Date | Thu, 24 Nov 2022 14:30:39 +0100 | Subject | Re: [PATCH v3] x86/boot: skip realmode init code when running as Xen PV guest | From | Juergen Gross <> |
| |
On 24.11.22 14:28, Borislav Petkov wrote: > 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?
Looking at the date when 084ee1c641a0 went in I don't think it _needs_ to go in now, but I wouldn't complain ...
> >> 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.
Fine with me.
> > Otherwise, it is as straightforward as it gets.
Thanks,
Juergen
[unhandled content-type:application/pgp-keys][unhandled content-type:application/pgp-signature] | |