efi: Make efi_config_init() x86 only
The efi_config_init() routine is no longer shared with ia64 so let's move it into the x86 arch code before making further x86 specific changes to it. Tested-by: Tony Luck <tony.luck@intel.com> # arch/ia64 Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
parent
686312927b
commit
3a0701dc7f
@ -431,6 +431,36 @@ static int __init efi_systab_init(u64 phys)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int __init efi_config_init(efi_config_table_type_t *arch_tables)
|
||||||
|
{
|
||||||
|
void *config_tables;
|
||||||
|
int sz, ret;
|
||||||
|
|
||||||
|
if (efi.systab->nr_tables == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (efi_enabled(EFI_64BIT))
|
||||||
|
sz = sizeof(efi_config_table_64_t);
|
||||||
|
else
|
||||||
|
sz = sizeof(efi_config_table_32_t);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Let's see what config tables the firmware passed to us.
|
||||||
|
*/
|
||||||
|
config_tables = early_memremap(efi.systab->tables,
|
||||||
|
efi.systab->nr_tables * sz);
|
||||||
|
if (config_tables == NULL) {
|
||||||
|
pr_err("Could not map Configuration table!\n");
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = efi_config_parse_tables(config_tables, efi.systab->nr_tables, sz,
|
||||||
|
arch_tables);
|
||||||
|
|
||||||
|
early_memunmap(config_tables, efi.systab->nr_tables * sz);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
void __init efi_init(void)
|
void __init efi_init(void)
|
||||||
{
|
{
|
||||||
if (IS_ENABLED(CONFIG_X86_32) &&
|
if (IS_ENABLED(CONFIG_X86_32) &&
|
||||||
|
@ -601,37 +601,6 @@ int __init efi_config_parse_tables(void *config_tables, int count, int sz,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __init efi_config_init(efi_config_table_type_t *arch_tables)
|
|
||||||
{
|
|
||||||
void *config_tables;
|
|
||||||
int sz, ret;
|
|
||||||
|
|
||||||
if (efi.systab->nr_tables == 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (efi_enabled(EFI_64BIT))
|
|
||||||
sz = sizeof(efi_config_table_64_t);
|
|
||||||
else
|
|
||||||
sz = sizeof(efi_config_table_32_t);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Let's see what config tables the firmware passed to us.
|
|
||||||
*/
|
|
||||||
config_tables = early_memremap(efi.systab->tables,
|
|
||||||
efi.systab->nr_tables * sz);
|
|
||||||
if (config_tables == NULL) {
|
|
||||||
pr_err("Could not map Configuration table!\n");
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = efi_config_parse_tables(config_tables, efi.systab->nr_tables, sz,
|
|
||||||
arch_tables);
|
|
||||||
|
|
||||||
early_memunmap(config_tables, efi.systab->nr_tables * sz);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int __init efi_systab_check_header(const efi_table_hdr_t *systab_hdr,
|
int __init efi_systab_check_header(const efi_table_hdr_t *systab_hdr,
|
||||||
int min_major_version)
|
int min_major_version)
|
||||||
{
|
{
|
||||||
|
@ -608,7 +608,6 @@ extern int __init efi_memmap_split_count(efi_memory_desc_t *md,
|
|||||||
extern void __init efi_memmap_insert(struct efi_memory_map *old_memmap,
|
extern void __init efi_memmap_insert(struct efi_memory_map *old_memmap,
|
||||||
void *buf, struct efi_mem_range *mem);
|
void *buf, struct efi_mem_range *mem);
|
||||||
|
|
||||||
extern int efi_config_init(efi_config_table_type_t *arch_tables);
|
|
||||||
#ifdef CONFIG_EFI_ESRT
|
#ifdef CONFIG_EFI_ESRT
|
||||||
extern void __init efi_esrt_init(void);
|
extern void __init efi_esrt_init(void);
|
||||||
#else
|
#else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user