aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/platform/efi
diff options
context:
space:
mode:
authorDave Young <dyoung@redhat.com>2013-12-20 05:02:17 -0500
committerMatt Fleming <matt.fleming@intel.com>2013-12-21 10:29:36 -0500
commita0998eb15afeffbf52a2c2829318f67df9ac57b8 (patch)
tree5f19084e93f018407d8dfc3521d073250719e67f /arch/x86/platform/efi
parent481f75c043cf44ec11c7fbdbbf37d43463f1e719 (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.c4
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 */