• Ard Biesheuvel's avatar
    arm64/efi: isolate EFI stub from the kernel proper · e8f3010f
    Ard Biesheuvel authored
    
    
    Since arm64 does not use a builtin decompressor, the EFI stub is built
    into the kernel proper. So far, this has been working fine, but actually,
    since the stub is in fact a PE/COFF relocatable binary that is executed
    at an unknown offset in the 1:1 mapping provided by the UEFI firmware, we
    should not be seamlessly sharing code with the kernel proper, which is a
    position dependent executable linked at a high virtual offset.
    
    So instead, separate the contents of libstub and its dependencies, by
    putting them into their own namespace by prefixing all of its symbols
    with __efistub. This way, we have tight control over what parts of the
    kernel proper are referenced by the stub.
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Reviewed-by: default avatarMatt Fleming <matt.fleming@intel.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    e8f3010f
head.S 17.7 KB