[PATCH] efi/arm64: store Runtime Services revision

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Aug 14 23:10:03 PDT 2014


On 14 August 2014 16:55, Semen Protsenko <semen.protsenko at linaro.org> wrote:
> "efi" global data structure contains "runtime_version" field which must
> be assigned in order to use it later in Runtime Services virtual calls
> (virt_efi_* functions).
>
> Before this patch "runtime_version" was unassigned (0), so each
> Runtime Service virtual call that checks revision would fail.
>
> Runtime Services revision being passed in UEFI system table from UEFI
> to kernel (see efi_entry() function). In UEFI it's being stored at
> MdePkg/Include/Uefi/UefiSpec.h as EFI_RUNTIME_SERVICES_REVISION.
>

Could you drop the last line with the Tianocore path? Tianocore is
just one of the many UEFI implementations the kernel should be
compatible with, so where it happens to store this value is not
entirely relevant.

> Signed-off-by: Semen Protsenko <semen.protsenko at linaro.org>

Acked-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>


> ---
>  arch/arm64/kernel/efi.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c
> index e72f310..5dbb7bd 100644
> --- a/arch/arm64/kernel/efi.c
> +++ b/arch/arm64/kernel/efi.c
> @@ -463,6 +463,8 @@ static int __init arm64_enter_virtual_mode(void)
>         efi_native_runtime_setup();
>         set_bit(EFI_RUNTIME_SERVICES, &efi.flags);
>
> +       efi.runtime_version = efi.systab->hdr.revision;
> +
>         return 0;
>
>  err_unmap:
> --
> 2.0.1
>



More information about the linux-arm-kernel mailing list