coreboot-kgpe-d16/Documentation
Patrick Rudolph 03a79520d6 cpu/x86/smm: Add support for long mode
Enable long mode in SMM handler.
x86_32 isn't affected by this change.

As the rsm instruction used to leave SMM doesn't restore MSR registers,
drop back to protected mode after running the smi_handler and restore
IA32_EFER MSR (which enables long mode support) to previous value.

NOTE: This commit does NOT introduce a new security model. It uses the
      same page tables as the remaining firmware does.
      This can be a security risk if someone is able to manipulate the
      page tables stored in ROM at runtime. USE FOR TESTING ONLY!

Tested on Qemu Q35.

Change-Id: I8bba4af4688c723fc079ae905dac95f57ea956f8
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35681
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-07-08 07:28:32 +00:00
..
Intel
RFC
_static
acpi
arch cpu/x86/smm: Add support for long mode 2020-07-08 07:28:32 +00:00
community
contributing
doxygen
drivers
flash_tutorial
getting_started
gfx
ifdtool
lib
mainboard
northbridge
releases
security
soc
superio
technotes
tutorial
vendorcode
AMD-S3.txt
COPYING
Doxyfile.coreboot
Doxyfile.coreboot_simple
Makefile
Makefile.sphinx
POSTCODES
beginverbatim.tex
cbfs.txt
codeflow.svg
coding_style.md
conf.py
corebootBuildingGuide.tex
coreboot_logo.png
distributions.md
endverbatim.tex
gcov.txt
hypertransport.svg
index.md
mainboard_io_trap_handler_sample.c
payloads.md
util.md