diff options
author | Dave Young <dyoung@redhat.com> | 2013-12-20 05:02:17 -0500 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2013-12-21 10:29:36 -0500 |
commit | a0998eb15afeffbf52a2c2829318f67df9ac57b8 (patch) | |
tree | 5f19084e93f018407d8dfc3521d073250719e67f /arch/x86/platform/efi | |
parent | 481f75c043cf44ec11c7fbdbbf37d43463f1e719 (diff) |
efi: Export more EFI table variables to sysfs
Export fw_vendor, runtime and config table physical addresses to
/sys/firmware/efi/{fw_vendor,runtime,config_table} because kexec kernels
need them.
From EFI spec these 3 variables will be updated to virtual address after
entering virtual mode. But kernel startup code will need the physical
address.
Signed-off-by: Dave Young <dyoung@redhat.com>
Tested-by: Toshi Kani <toshi.kani@hp.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'arch/x86/platform/efi')
-rw-r--r-- | arch/x86/platform/efi/efi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index 4694632ef581..28591072fbb7 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c | |||
@@ -653,6 +653,10 @@ void __init efi_init(void) | |||
653 | 653 | ||
654 | set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility); | 654 | set_bit(EFI_SYSTEM_TABLES, &x86_efi_facility); |
655 | 655 | ||
656 | efi.config_table = (unsigned long)efi.systab->tables; | ||
657 | efi.fw_vendor = (unsigned long)efi.systab->fw_vendor; | ||
658 | efi.runtime = (unsigned long)efi.systab->runtime; | ||
659 | |||
656 | /* | 660 | /* |
657 | * Show what we know for posterity | 661 | * Show what we know for posterity |
658 | */ | 662 | */ |