On 03/10/2024 4:48 pm, Roger Pau Monné wrote: > On Thu, Oct 03, 2024 at 04:42:23PM +0100, Frediano Ziglio wrote: >> On Thu, Oct 3, 2024 at 3:58 PM Andrew Cooper <andrew.coop...@citrix.com> >> wrote: >>> __efi64_mb2_start() makes some bold assumptions about the efi_platform and >>> skip_realmode booleans. Set them to 1 explicitly, which is more robust. >>> >>> Make the comment a little more consice. >>> >>> No practical change. >>> >>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> >>> --- >>> CC: Jan Beulich <jbeul...@suse.com> >>> CC: Roger Pau Monné <roger....@citrix.com> >>> CC: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com> >>> CC: Daniel P. Smith <dpsm...@apertussolutions.com> >>> CC: Frediano Ziglio <frediano.zig...@cloud.com> >>> --- >>> xen/arch/x86/boot/head.S | 10 ++++------ >>> 1 file changed, 4 insertions(+), 6 deletions(-) >>> >>> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S >>> index d1856d8012c9..af776c201a15 100644 >>> --- a/xen/arch/x86/boot/head.S >>> +++ b/xen/arch/x86/boot/head.S >>> @@ -279,14 +279,12 @@ __efi64_mb2_start: >>> pop %rbx >>> pop %rax >>> >>> - /* We are on EFI platform and EFI boot services are available. */ >>> - incb efi_platform(%rip) >>> - >>> /* >>> - * Disable real mode and other legacy stuff which should not >>> - * be run on EFI platforms. >>> + * efi_multiboot2_prelude() is happy that we're on EFI platform. >>> Skip >>> + * the BIOS initialisation path. >>> */ >>> - incb skip_realmode(%rip) >>> + movb $1, efi_platform(%rip) >>> + movb $1, skip_realmode(%rip) >>> >>> /* Jump to trampoline_setup after switching CPU to x86_32 mode. */ >>> lea trampoline_setup(%rip),%r15 >>> >>> base-commit: eb21ce14d709ef0c0030d0625028a4868c81126f >> Reviewed-by: Frediano Ziglio <frediano.zig...@cloud.com> > Acked-by: Roger Pau Monné <roger....@citrix.com>
Thanks both. I further note that efi_platform is used exclusively to skip early cmdline parsing, and I'm sure there's probably a better way of doing this, but nothing obvious jumps out to me. I suspect that getting rid of it will be easier when we've moved more logic to be in C. ~Andrew