Re: mix of ACPICA regression and EFISTUB regression (Was: kernel >= v6.2 no longer boots on Apple's Virtualization.framework (x86_64); likely to be related to ACPICA)

From: Ard Biesheuvel
Date: Sat May 27 2023 - 14:42:41 EST


On Sat, 27 May 2023 at 20:34, Akihiro Suda <suda.kyoto@xxxxxxxxx> wrote:
>
> > Are you using OVMF? Which versions of qemu and OVMF are you using?
>
> I'm using Apple's Virtualization.framework, not QEMU.
>
> It doesn't use UEFI when it directly loads bzImage.
> ( dmesg: https://bugzilla.kernel.org/attachment.cgi?id=304323 )
>
> Despite that, it still expects LINUX_EFISTUB_MINOR_VERSION
> (include/linux/pe.h) referred from arch/x86/boot/header.S to be 0x0.
> I confirmed that the kernel can boot by just setting
> LINUX_EFISTUB_MINOR_VERSION to 0x0.
>

Thanks for checking that, that is very helpful/

> Would it be possible to revert the LINUX_EFISTUB_MINOR_VERSION value
> (not the actual code) to 0x0?
> Or will it break something else?
>
> Anyway, I'll try to make a request to Apple to remove the
> LINUX_EFISTUB_MINOR_VERSION check.
>

Yes, that makes the most sense. If the existing virtual machine BIOS
has a hardcoded check that the EFI stub version is 1.0 even if it does
not boot via EFI to begin with, I don't see how we can reasonably
treat this as a regression that needs fixing on the Linux side.

The version bump to PE image version v1.1 sets a baseline across all
Linux archifectures that can boot via EFI that initrd loading is
supported via the command line as well as via the LoadFile2 protocol.
Reverting that would substantially reduce the value of having this
identification embedded into the image.