Messages in this thread | | | Date | Fri, 7 Oct 2022 11:30:42 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH v2 03/16] x86/compressed: efi-mixed: move bootargs parsing out of 32-bit startup code |
| |
On Thu, Oct 06, 2022 at 01:29:55PM +0200, Ard Biesheuvel wrote: > Documentation/x86/boot.rst has a section on this (at the end),
Ah, and I really like that NOTE at the end.
> but we should really stop using it. It is only implemented by > out-of-tree GRUB at the moment (last time I checked) and leaking all > those struct bootparams specific details into every bootloader is not > great, especially the ones that intend to be generic and boot any EFI > OS on any EFI arch.
I'm all for making early asm code simpler so yes, can we start removing it?
Dunno, maybe ifdef around it with a Kconfig option which is default off and see who complains...
> That is the same thing. The EFI stub is what enables the kernel (or > decompressor) to masquerade as a PE/COFF executable. > > In short, every EFI stub kernel on every architecture has a native > PE/COFF entry point that calls the EFI stub, and the EFi stub does the > arch-specific bootloader work and boots it.
Right.
> In addition, the x86_64 EFI stub kernel has an extra, non-native > PE/COFF entry point, which is exposed in a way that is not covered by > the EFI spec, but which allows Linux specific loaders such as > systemd-boot to boot such kernels on 32-bit firmware without having to > do the whole struct bootparams dance in the bootloader.
Ok, thanks for explaining.
I like the simplification and obviating the need for the bootloader to do any dancing before loading the kernel.
-- Regards/Gruss, Boris.
https://people.kernel.org/tglx/notes-about-netiquette
| |