Re: [PATCH] x86: efi: Turn off efi_enabled after setup on mixed fw/kernel

From: Maarten Lankhorst
Date: Mon Aug 20 2012 - 06:13:15 EST


Hey,

Op 19-08-12 23:48, Olof Johansson schreef:
> When 32-bit EFI is used with 64-bit kernel (or vice versa), turn off
> efi_enabled once setup is done. Beyond setup, it is normally used to
> determine if runtime services are available and we will have none.
>
> This will resolve issues stemming from efivars modprobe panicking on a
> 32/64-bit setup, as well as some reboot issues on similar setups.
>
> Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
> Cc: stable@xxxxxxxxxx # 3.4 and 3.5
> Cc: Matt Fleming <matt.fleming@xxxxxxxxx>
> Cc: Matthew Garrett <mjg@xxxxxxxxxx>
> ---
> arch/x86/kernel/setup.c | 11 +++++++++++
> arch/x86/platform/efi/efi.c | 14 ++++++++------
> 2 files changed, 19 insertions(+), 6 deletions(-)
> <snip>
>
> +static inline bool efi_is_native(void)
> +{
> + return !(IS_ENABLED(CONFIG_X86_64) ^ efi_64bit);
> +}
>
Isn't this just a more complicated way of writing
IS_ENABLED(CONFIG_X86_64) == efi_64bit ?

Also moving the assignment to efi_init will make it no longer call
efi_reserve_boot_services, I don't know if that is intentional or not,
but something to consider at least since it's a behavioral change.

>From a quick glance with some grepping, efi reboot and efifb will
also no longer work, is that intentional?

~Maarten

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/