• Matt Fleming's avatar
    x86/efi: Wire up CONFIG_EFI_MIXED · 7d453eee
    Matt Fleming authored
    Add the Kconfig option and bump the kernel header version so that boot
    loaders can check whether the handover code is available if they want.
    
    The xloadflags field in the bzImage header is also updated to reflect
    that the kernel supports both entry points by setting both of
    XLF_EFI_HANDOVER_32 and XLF_EFI_HANDOVER_64 when CONFIG_EFI_MIXED=y.
    XLF_CAN_BE_LOADED_ABOVE_4G is disabled so that the kernel text is
    guaranteed to be addressable with 32-bits.
    
    Note that no boot loaders should be using the bits set in xloadflags to
    decide which entry point to jump to. The entire scheme is based on the
    concept that 32-bit bootloaders always jump to ->handover_offset and
    64-bit loaders always jump to ->handover_offset + 512. We set both bits
    merely to inform the boot loader that it's safe to use the native
    handover offset even if the machine type in the PE/COFF header claims
    otherwise.
    Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
    7d453eee
efi.c 31.3 KB