diff options
author | Kairui Song <[email protected]> | 2019-04-29 08:23:18 +0800 |
---|---|---|
committer | Borislav Petkov <[email protected]> | 2019-06-06 20:13:48 +0200 |
commit | 6bbeb276b71f06c5267bfd154629b1bec82e7136 (patch) | |
tree | 33d344e021c235e56252085765524a8d380036b4 /tools/perf/scripts/python | |
parent | f2c7c76c5d0a443053e94adb9f0918fa2fb85c3a (diff) |
x86/kexec: Add the EFI system tables and ACPI tables to the ident map
Currently, only the whole physical memory is identity-mapped for the
kexec kernel and the regions reserved by firmware are ignored.
However, the recent addition of RSDP parsing in the decompression stage
and especially:
33f0df8d843d ("x86/boot: Search for RSDP in the EFI tables")
which tries to access EFI system tables and to dig out the RDSP address
from there, becomes a problem because in certain configurations, they
might not be mapped in the kexec'ed kernel's address space.
What is more, this problem doesn't appear on all systems because the
kexec kernel uses gigabyte pages to build the identity mapping. And
the EFI system tables and ACPI tables can, depending on the system
configuration, end up being mapped as part of all physical memory, if
they share the same 1 GB area with the physical memory.
Therefore, make sure they're always mapped.
[ bp: productize half-baked patch:
- rewrite commit message.
- correct the map_acpi_tables() function name in the !ACPI case. ]
Signed-off-by: Kairui Song <[email protected]>
Signed-off-by: Baoquan He <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Tested-by: Dirk van der Merwe <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: "H. Peter Anvin" <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: "Kirill A. Shutemov" <[email protected]>
Cc: Lianbo Jiang <[email protected]>
Cc: Tetsuo Handa <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: x86-ml <[email protected]>
Link: https://lkml.kernel.org/r/20190429002318.GA25400@MiWiFi-R3L-srv
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions