linux_dsm_epyc7002/arch/x86/platform
Dave Young 1fec053369 x86/efi: Pass necessary EFI data for kexec via setup_data
Add a new setup_data type SETUP_EFI for kexec use.  Passing the saved
fw_vendor, runtime, config tables and EFI runtime mappings.

When entering virtual mode, directly mapping the EFI runtime regions
which we passed in previously. And skip the step to call
SetVirtualAddressMap().

Specially for HP z420 workstation we need save the smbios physical
address.  The kernel boot sequence proceeds in the following order.
Step 2 requires efi.smbios to be the physical address.  However, I found
that on HP z420 EFI system table has a virtual address of SMBIOS in step
1.  Hence, we need set it back to the physical address with the smbios
in efi_setup_data.  (When it is still the physical address, it simply
sets the same value.)

1. efi_init() - Set efi.smbios from EFI system table
2. dmi_scan_machine() - Temporary map efi.smbios to access SMBIOS table
3. efi_enter_virtual_mode() - Map EFI ranges

Tested on ovmf+qemu, lenovo thinkpad, a dell laptop and an
HP z420 workstation.

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>
2013-12-29 13:09:05 +00:00
..
ce4100 arch/x86/platform/ce4100/ce4100.c: include reboot.h 2013-07-31 14:41:02 -07:00
efi x86/efi: Pass necessary EFI data for kexec via setup_data 2013-12-29 13:09:05 +00:00
geode x86/geode: Fix incorrect placement of __initdata tag 2013-10-01 13:21:27 +02:00
goldfish goldfish: platform device for x86 2013-01-21 12:09:19 -08:00
intel-mid x86, intel-mid: Do not re-introduce usage of obsolete __cpuinit 2013-11-07 10:44:03 -08:00
iris arch/x86/platform/iris/iris.c: register a platform device and a platform driver 2012-12-18 15:02:11 -08:00
olpc olpc_xo15_sci: convert acpi_evaluate_object() to acpi_execute_simple_method() 2013-09-24 01:37:53 +02:00
scx200 X86: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
sfi x86: Convert a few mistaken __cpuinit annotations to __init 2013-01-24 17:12:19 +01:00
ts5500 x86: Add TS-5500 platform support 2013-01-25 19:40:23 +01:00
uv x86/dumpstack: Fix printk_address for direct addresses 2013-11-12 21:06:06 +01:00
visws x86/apic: Fix typo EIO_ACK -> EOI_ACK and document it 2012-05-18 09:46:07 +02:00
Makefile intel_mid: Renamed *mrst* to *intel_mid* 2013-10-17 16:40:36 -07:00