diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2024-02-21 14:35:08 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2024-02-26 14:58:11 +0300 |
commit | 5da793671957e8e99fa74423fab2737bf8c772a8 (patch) | |
tree | 75945bf9778275cdd8ed4feafce47411a959ca69 /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | 2e5fc4786b7ad311393a70894c773aa106c6dbb3 (diff) | |
download | linux-5da793671957e8e99fa74423fab2737bf8c772a8.tar.xz |
x86/boot/64: Simplify global variable accesses in GDT/IDT programming
There are two code paths in the startup code to program an IDT: one that
runs from the 1:1 mapping and one that runs from the virtual kernel
mapping. Currently, these are strictly separate because fixup_pointer()
is used on the 1:1 path, which will produce the wrong value when used
while executing from the virtual kernel mapping.
Switch to RIP_REL_REF() so that the two code paths can be merged. Also,
move the GDT and IDT descriptors to the stack so that they can be
referenced directly, rather than via RIP_REL_REF().
Rename startup_64_setup_env() to startup_64_setup_gdt_idt() while at it,
to make the call from assembler self-documenting.
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20240221113506.2565718-19-ardb+git@google.com
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions