Re: [patch 13/13] Remove (now unused) EFI_UV1_MEMMAP from efi.h

From: Ard Biesheuvel
Date: Wed Jul 01 2020 - 11:29:11 EST


On Wed, 1 Jul 2020 at 16:18, <steve.wahl@xxxxxxx> wrote:
>
> With UV1 support removed, EFI_UV1_MEMMAP is no longer used.
>
> Signed-off-by: Steve Wahl <steve.wahl@xxxxxxx>

Reviewed-by: Ard Biesheuvel <ardb@xxxxxxxxxx>

> ---
> arch/x86/include/asm/efi.h | 20 ++------------------
> 1 file changed, 2 insertions(+), 18 deletions(-)
>
> --- linux.orig/arch/x86/include/asm/efi.h 2020-06-17 14:21:49.798542440 -0500
> +++ linux/arch/x86/include/asm/efi.h 2020-06-17 14:28:55.830071857 -0500
> @@ -22,17 +22,7 @@ extern unsigned long efi_fw_vendor, efi_
> *
> * This is the main reason why we're doing stable VA mappings for RT
> * services.
> - *
> - * SGI UV1 machines are known to be incompatible with this scheme, so we
> - * provide an opt-out for these machines via a DMI quirk that sets the
> - * attribute below.
> */
> -#define EFI_UV1_MEMMAP EFI_ARCH_1
> -
> -static inline bool efi_have_uv1_memmap(void)
> -{
> - return IS_ENABLED(CONFIG_X86_UV) && efi_enabled(EFI_UV1_MEMMAP);
> -}
>
> #define EFI32_LOADER_SIGNATURE "EL32"
> #define EFI64_LOADER_SIGNATURE "EL64"
> @@ -122,9 +112,7 @@ struct efi_scratch {
> efi_sync_low_kernel_mappings(); \
> kernel_fpu_begin(); \
> firmware_restrict_branch_speculation_start(); \
> - \
> - if (!efi_have_uv1_memmap()) \
> - efi_switch_mm(&efi_mm); \
> + efi_switch_mm(&efi_mm); \
> })
>
> #define arch_efi_call_virt(p, f, args...) \
> @@ -132,9 +120,7 @@ struct efi_scratch {
>
> #define arch_efi_call_virt_teardown() \
> ({ \
> - if (!efi_have_uv1_memmap()) \
> - efi_switch_mm(efi_scratch.prev_mm); \
> - \
> + efi_switch_mm(efi_scratch.prev_mm); \
> firmware_restrict_branch_speculation_end(); \
> kernel_fpu_end(); \
> })
> @@ -176,8 +162,6 @@ extern void efi_delete_dummy_variable(vo
> extern void efi_switch_mm(struct mm_struct *mm);
> extern void efi_recover_from_page_fault(unsigned long phys_addr);
> extern void efi_free_boot_services(void);
> -extern pgd_t * __init efi_uv1_memmap_phys_prolog(void);
> -extern void __init efi_uv1_memmap_phys_epilog(pgd_t *save_pgd);
>
> /* kexec external ABI */
> struct efi_setup_data {
>