efi/x86: Merge assignments of efi.runtime_version
authorArd Biesheuvel <ardb@kernel.org>
Mon, 20 Jan 2020 17:35:17 +0000 (18:35 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Sun, 23 Feb 2020 20:59:42 +0000 (21:59 +0100)
efi.runtime_version is always set to the same value on both
existing code paths, so just set it earlier from a shared one.

Tested-by: Tony Luck <tony.luck@intel.com> # arch/ia64
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
arch/x86/platform/efi/efi.c

index 6fa412e..e4ee9a3 100644 (file)
@@ -420,6 +420,8 @@ static int __init efi_systab_init(u64 phys)
                efi_systab.tables               = systab32->tables;
        }
 
+       efi.runtime_version = hdr->revision;
+
        efi_systab_report_header(hdr, efi_systab.fw_vendor);
        early_memunmap(p, size);
 
@@ -870,15 +872,6 @@ static void __init kexec_enter_virtual_mode(void)
        }
 
        efi_sync_low_kernel_mappings();
-
-       /*
-        * Now that EFI is in virtual mode, update the function
-        * pointers in the runtime service table to the new virtual addresses.
-        *
-        * Call EFI services through wrapper functions.
-        */
-       efi.runtime_version = efi_systab.hdr.revision;
-
        efi_native_runtime_setup();
 #endif
 }
@@ -965,14 +958,6 @@ static void __init __efi_enter_virtual_mode(void)
 
        efi_free_boot_services();
 
-       /*
-        * Now that EFI is in virtual mode, update the function
-        * pointers in the runtime service table to the new virtual addresses.
-        *
-        * Call EFI services through wrapper functions.
-        */
-       efi.runtime_version = efi_systab.hdr.revision;
-
        if (!efi_is_mixed())
                efi_native_runtime_setup();
        else