Re: [PATCH] x86/boot: EFI_MIXED should not prohibit loading above 4G

From: Matt Fleming
Date: Mon Jun 09 2014 - 09:19:00 EST


On 9 June 2014 13:54, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
> Hi Matt,
>
> So with new kexec syscall I have written 64bit bzImage loader. For now
> I would like to detect this situation and disable loading and once
> 32bit loader gets implemented it can take care of loading bzImage below
> 4G.

What situation do you want to detect? You want to detect when it's
impossible to load a kernel above 4G in the kexec path because you're
booting with 32-bit EFI firmware?

> So how do I find out if EFI is 32bit.

efi_enabled(EFI_64BIT) will tell you that, but you probably also want
to check that EFI runtime services are actually usable with
efi_enabled(EFI_RUNTIME_SERVICES) since if they're not, you'll never
call into the firmware so it doesn't matter where you load the kernel
(this may happen with "noefi" kernel parameter).
--
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/