Commit b7846e6b authored by Ard Biesheuvel's avatar Ard Biesheuvel

efi: Make memreserve table handling local to efi.c

There is no need for struct efi to carry the address of the memreserve
table and share it with the world. So move it out and make it
__initdata as well.

Tested-by: Tony Luck <tony.luck@intel.com> # arch/ia64
Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
parent a17e809e
...@@ -45,11 +45,11 @@ struct efi __read_mostly efi = { ...@@ -45,11 +45,11 @@ struct efi __read_mostly efi = {
.esrt = EFI_INVALID_TABLE_ADDR, .esrt = EFI_INVALID_TABLE_ADDR,
.tpm_log = EFI_INVALID_TABLE_ADDR, .tpm_log = EFI_INVALID_TABLE_ADDR,
.tpm_final_log = EFI_INVALID_TABLE_ADDR, .tpm_final_log = EFI_INVALID_TABLE_ADDR,
.mem_reserve = EFI_INVALID_TABLE_ADDR,
}; };
EXPORT_SYMBOL(efi); EXPORT_SYMBOL(efi);
static unsigned long __ro_after_init rng_seed = EFI_INVALID_TABLE_ADDR; static unsigned long __ro_after_init rng_seed = EFI_INVALID_TABLE_ADDR;
static unsigned long __initdata mem_reserve = EFI_INVALID_TABLE_ADDR;
struct mm_struct efi_mm = { struct mm_struct efi_mm = {
.mm_rb = RB_ROOT, .mm_rb = RB_ROOT,
...@@ -470,7 +470,7 @@ static __initdata efi_config_table_type_t common_tables[] = { ...@@ -470,7 +470,7 @@ static __initdata efi_config_table_type_t common_tables[] = {
{LINUX_EFI_RANDOM_SEED_TABLE_GUID, "RNG", &rng_seed}, {LINUX_EFI_RANDOM_SEED_TABLE_GUID, "RNG", &rng_seed},
{LINUX_EFI_TPM_EVENT_LOG_GUID, "TPMEventLog", &efi.tpm_log}, {LINUX_EFI_TPM_EVENT_LOG_GUID, "TPMEventLog", &efi.tpm_log},
{LINUX_EFI_TPM_FINAL_LOG_GUID, "TPMFinalLog", &efi.tpm_final_log}, {LINUX_EFI_TPM_FINAL_LOG_GUID, "TPMFinalLog", &efi.tpm_final_log},
{LINUX_EFI_MEMRESERVE_TABLE_GUID, "MEMRESERVE", &efi.mem_reserve}, {LINUX_EFI_MEMRESERVE_TABLE_GUID, "MEMRESERVE", &mem_reserve},
#ifdef CONFIG_EFI_RCI2_TABLE #ifdef CONFIG_EFI_RCI2_TABLE
{DELLEMC_EFI_RCI2_TABLE_GUID, NULL, &rci2_table_phys}, {DELLEMC_EFI_RCI2_TABLE_GUID, NULL, &rci2_table_phys},
#endif #endif
...@@ -563,8 +563,8 @@ int __init efi_config_parse_tables(void *config_tables, int count, int sz, ...@@ -563,8 +563,8 @@ int __init efi_config_parse_tables(void *config_tables, int count, int sz,
efi_tpm_eventlog_init(); efi_tpm_eventlog_init();
if (efi.mem_reserve != EFI_INVALID_TABLE_ADDR) { if (mem_reserve != EFI_INVALID_TABLE_ADDR) {
unsigned long prsv = efi.mem_reserve; unsigned long prsv = mem_reserve;
while (prsv) { while (prsv) {
struct linux_efi_memreserve *rsv; struct linux_efi_memreserve *rsv;
...@@ -939,10 +939,10 @@ static struct linux_efi_memreserve *efi_memreserve_root __ro_after_init; ...@@ -939,10 +939,10 @@ static struct linux_efi_memreserve *efi_memreserve_root __ro_after_init;
static int __init efi_memreserve_map_root(void) static int __init efi_memreserve_map_root(void)
{ {
if (efi.mem_reserve == EFI_INVALID_TABLE_ADDR) if (mem_reserve == EFI_INVALID_TABLE_ADDR)
return -ENODEV; return -ENODEV;
efi_memreserve_root = memremap(efi.mem_reserve, efi_memreserve_root = memremap(mem_reserve,
sizeof(*efi_memreserve_root), sizeof(*efi_memreserve_root),
MEMREMAP_WB); MEMREMAP_WB);
if (WARN_ON_ONCE(!efi_memreserve_root)) if (WARN_ON_ONCE(!efi_memreserve_root))
......
...@@ -541,7 +541,6 @@ extern struct efi { ...@@ -541,7 +541,6 @@ extern struct efi {
unsigned long esrt; /* ESRT table */ unsigned long esrt; /* ESRT table */
unsigned long tpm_log; /* TPM2 Event Log table */ unsigned long tpm_log; /* TPM2 Event Log table */
unsigned long tpm_final_log; /* TPM2 Final Events Log table */ unsigned long tpm_final_log; /* TPM2 Final Events Log table */
unsigned long mem_reserve; /* Linux EFI memreserve table */
efi_get_time_t *get_time; efi_get_time_t *get_time;
efi_set_time_t *set_time; efi_set_time_t *set_time;
efi_get_wakeup_time_t *get_wakeup_time; efi_get_wakeup_time_t *get_wakeup_time;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment