diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2019-06-25 10:28:53 -0400 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2019-08-08 04:01:48 -0400 |
commit | 5828efb95bc43ad6a59f05458d3aed9649dd5a63 (patch) | |
tree | c828e619819932d3e40e95b8eef736174124d3c1 | |
parent | ec7e1605d79d1d469b25e396f2056e42386f512f (diff) |
efi: ia64: move SAL systab handling out of generic EFI code
The SAL systab is an Itanium specific EFI configuration table, so
move its handling into arch/ia64 where it belongs.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-rw-r--r-- | arch/ia64/include/asm/sal.h | 1 | ||||
-rw-r--r-- | arch/ia64/include/asm/sn/sn_sal.h | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/efi.c | 3 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/x86/platform/efi/efi.c | 1 | ||||
-rw-r--r-- | drivers/firmware/efi/efi.c | 2 | ||||
-rw-r--r-- | include/linux/efi.h | 1 |
7 files changed, 6 insertions, 6 deletions
diff --git a/arch/ia64/include/asm/sal.h b/arch/ia64/include/asm/sal.h index 588f33156da6..08f5b6aaed73 100644 --- a/arch/ia64/include/asm/sal.h +++ b/arch/ia64/include/asm/sal.h | |||
@@ -43,6 +43,7 @@ | |||
43 | #include <asm/pal.h> | 43 | #include <asm/pal.h> |
44 | #include <asm/fpu.h> | 44 | #include <asm/fpu.h> |
45 | 45 | ||
46 | extern unsigned long sal_systab_phys; | ||
46 | extern spinlock_t sal_lock; | 47 | extern spinlock_t sal_lock; |
47 | 48 | ||
48 | /* SAL spec _requires_ eight args for each call. */ | 49 | /* SAL spec _requires_ eight args for each call. */ |
diff --git a/arch/ia64/include/asm/sn/sn_sal.h b/arch/ia64/include/asm/sn/sn_sal.h index 1f5ff470a5a1..5142c444652d 100644 --- a/arch/ia64/include/asm/sn/sn_sal.h +++ b/arch/ia64/include/asm/sn/sn_sal.h | |||
@@ -167,7 +167,7 @@ | |||
167 | static inline u32 | 167 | static inline u32 |
168 | sn_sal_rev(void) | 168 | sn_sal_rev(void) |
169 | { | 169 | { |
170 | struct ia64_sal_systab *systab = __va(efi.sal_systab); | 170 | struct ia64_sal_systab *systab = __va(sal_systab_phys); |
171 | 171 | ||
172 | return (u32)(systab->sal_b_rev_major << 8 | systab->sal_b_rev_minor); | 172 | return (u32)(systab->sal_b_rev_major << 8 | systab->sal_b_rev_minor); |
173 | } | 173 | } |
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index 3795d18276c4..0a34dcc435c6 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -47,8 +47,11 @@ | |||
47 | 47 | ||
48 | static __initdata unsigned long palo_phys; | 48 | static __initdata unsigned long palo_phys; |
49 | 49 | ||
50 | unsigned long sal_systab_phys = EFI_INVALID_TABLE_ADDR; | ||
51 | |||
50 | static __initdata efi_config_table_type_t arch_tables[] = { | 52 | static __initdata efi_config_table_type_t arch_tables[] = { |
51 | {PROCESSOR_ABSTRACTION_LAYER_OVERWRITE_GUID, "PALO", &palo_phys}, | 53 | {PROCESSOR_ABSTRACTION_LAYER_OVERWRITE_GUID, "PALO", &palo_phys}, |
54 | {SAL_SYSTEM_TABLE_GUID, "SALsystab", &sal_systab_phys}, | ||
52 | {NULL_GUID, NULL, 0}, | 55 | {NULL_GUID, NULL, 0}, |
53 | }; | 56 | }; |
54 | 57 | ||
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index c9cfa760cd57..0e1b4eb149b4 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -572,7 +572,7 @@ setup_arch (char **cmdline_p) | |||
572 | find_memory(); | 572 | find_memory(); |
573 | 573 | ||
574 | /* process SAL system table: */ | 574 | /* process SAL system table: */ |
575 | ia64_sal_init(__va(efi.sal_systab)); | 575 | ia64_sal_init(__va(sal_systab_phys)); |
576 | 576 | ||
577 | #ifdef CONFIG_ITANIUM | 577 | #ifdef CONFIG_ITANIUM |
578 | ia64_patch_rse((u64) __start___rse_patchlist, (u64) __end___rse_patchlist); | 578 | ia64_patch_rse((u64) __start___rse_patchlist, (u64) __end___rse_patchlist); |
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index 9866a3584765..6697c109c449 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c | |||
@@ -70,7 +70,6 @@ static const unsigned long * const efi_tables[] = { | |||
70 | &efi.acpi20, | 70 | &efi.acpi20, |
71 | &efi.smbios, | 71 | &efi.smbios, |
72 | &efi.smbios3, | 72 | &efi.smbios3, |
73 | &efi.sal_systab, | ||
74 | &efi.boot_info, | 73 | &efi.boot_info, |
75 | &efi.hcdp, | 74 | &efi.hcdp, |
76 | &efi.uga, | 75 | &efi.uga, |
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index 4dfd873373bd..801925c5bcfb 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c | |||
@@ -39,7 +39,6 @@ struct efi __read_mostly efi = { | |||
39 | .acpi20 = EFI_INVALID_TABLE_ADDR, | 39 | .acpi20 = EFI_INVALID_TABLE_ADDR, |
40 | .smbios = EFI_INVALID_TABLE_ADDR, | 40 | .smbios = EFI_INVALID_TABLE_ADDR, |
41 | .smbios3 = EFI_INVALID_TABLE_ADDR, | 41 | .smbios3 = EFI_INVALID_TABLE_ADDR, |
42 | .sal_systab = EFI_INVALID_TABLE_ADDR, | ||
43 | .boot_info = EFI_INVALID_TABLE_ADDR, | 42 | .boot_info = EFI_INVALID_TABLE_ADDR, |
44 | .hcdp = EFI_INVALID_TABLE_ADDR, | 43 | .hcdp = EFI_INVALID_TABLE_ADDR, |
45 | .uga = EFI_INVALID_TABLE_ADDR, | 44 | .uga = EFI_INVALID_TABLE_ADDR, |
@@ -456,7 +455,6 @@ static __initdata efi_config_table_type_t common_tables[] = { | |||
456 | {ACPI_TABLE_GUID, "ACPI", &efi.acpi}, | 455 | {ACPI_TABLE_GUID, "ACPI", &efi.acpi}, |
457 | {HCDP_TABLE_GUID, "HCDP", &efi.hcdp}, | 456 | {HCDP_TABLE_GUID, "HCDP", &efi.hcdp}, |
458 | {MPS_TABLE_GUID, "MPS", &efi.mps}, | 457 | {MPS_TABLE_GUID, "MPS", &efi.mps}, |
459 | {SAL_SYSTEM_TABLE_GUID, "SALsystab", &efi.sal_systab}, | ||
460 | {SMBIOS_TABLE_GUID, "SMBIOS", &efi.smbios}, | 458 | {SMBIOS_TABLE_GUID, "SMBIOS", &efi.smbios}, |
461 | {SMBIOS3_TABLE_GUID, "SMBIOS 3.0", &efi.smbios3}, | 459 | {SMBIOS3_TABLE_GUID, "SMBIOS 3.0", &efi.smbios3}, |
462 | {UGA_IO_PROTOCOL_GUID, "UGA", &efi.uga}, | 460 | {UGA_IO_PROTOCOL_GUID, "UGA", &efi.uga}, |
diff --git a/include/linux/efi.h b/include/linux/efi.h index 171bb1005a10..f88318b85fb0 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
@@ -984,7 +984,6 @@ extern struct efi { | |||
984 | unsigned long acpi20; /* ACPI table (ACPI 2.0) */ | 984 | unsigned long acpi20; /* ACPI table (ACPI 2.0) */ |
985 | unsigned long smbios; /* SMBIOS table (32 bit entry point) */ | 985 | unsigned long smbios; /* SMBIOS table (32 bit entry point) */ |
986 | unsigned long smbios3; /* SMBIOS table (64 bit entry point) */ | 986 | unsigned long smbios3; /* SMBIOS table (64 bit entry point) */ |
987 | unsigned long sal_systab; /* SAL system table */ | ||
988 | unsigned long boot_info; /* boot info table */ | 987 | unsigned long boot_info; /* boot info table */ |
989 | unsigned long hcdp; /* HCDP table */ | 988 | unsigned long hcdp; /* HCDP table */ |
990 | unsigned long uga; /* UGA table */ | 989 | unsigned long uga; /* UGA table */ |