mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
efi: Add an EFI table address match function
Add a function that will determine if a supplied physical address matches the address of an EFI table. Signed-off-by: Tom Lendacky <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Reviewed-by: Matt Fleming <[email protected]> Reviewed-by: Borislav Petkov <[email protected]> Cc: Alexander Potapenko <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Brijesh Singh <[email protected]> Cc: Dave Young <[email protected]> Cc: Dmitry Vyukov <[email protected]> Cc: Jonathan Corbet <[email protected]> Cc: Konrad Rzeszutek Wilk <[email protected]> Cc: Larry Woodman <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Michael S. Tsirkin <[email protected]> Cc: Paolo Bonzini <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Radim Krčmář <[email protected]> Cc: Rik van Riel <[email protected]> Cc: Toshimitsu Kani <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: http://lkml.kernel.org/r/e1e06441d80f44776df391e0e4cb485b345b7518.1500319216.git.thomas.lendacky@amd.com Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
parent
d68baa3fa6
commit
a19d66c56a
2 changed files with 40 additions and 0 deletions
|
|
@ -55,6 +55,25 @@ struct efi __read_mostly efi = {
|
|||
};
|
||||
EXPORT_SYMBOL(efi);
|
||||
|
||||
static unsigned long *efi_tables[] = {
|
||||
&efi.mps,
|
||||
&efi.acpi,
|
||||
&efi.acpi20,
|
||||
&efi.smbios,
|
||||
&efi.smbios3,
|
||||
&efi.sal_systab,
|
||||
&efi.boot_info,
|
||||
&efi.hcdp,
|
||||
&efi.uga,
|
||||
&efi.uv_systab,
|
||||
&efi.fw_vendor,
|
||||
&efi.runtime,
|
||||
&efi.config_table,
|
||||
&efi.esrt,
|
||||
&efi.properties_table,
|
||||
&efi.mem_attr_table,
|
||||
};
|
||||
|
||||
static bool disable_runtime;
|
||||
static int __init setup_noefi(char *arg)
|
||||
{
|
||||
|
|
@ -855,6 +874,20 @@ int efi_status_to_err(efi_status_t status)
|
|||
return err;
|
||||
}
|
||||
|
||||
bool efi_is_table_address(unsigned long phys_addr)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
if (phys_addr == EFI_INVALID_TABLE_ADDR)
|
||||
return false;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(efi_tables); i++)
|
||||
if (*(efi_tables[i]) == phys_addr)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_KEXEC
|
||||
static int update_efi_random_seed(struct notifier_block *nb,
|
||||
unsigned long code, void *unused)
|
||||
|
|
|
|||
Loading…
Reference in a new issue