24bb8036c9
Enable long mode in SMM handler. x86_32 isn't affected by this change. * Enter long mode * Add 64bit entry to GDT * Use x86_64 SysV ABI calling conventions for C code entry * Change smm_module_params' cpu to size_t as 'push' is native integer * Drop to protected mode after c handler 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 Lenovo T410 with additional x86_64 patches. Change-Id: I26300492e4be62ddd5d80525022c758a019d63a1 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37392 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Eugene Myers <cedarhouse1@comcast.net> |
||
---|---|---|
.. | ||
acpi | ||
boot | ||
console | ||
cpu | ||
device | ||
efi | ||
pc80 | ||
smp | ||
superio | ||
sys | ||
adainit.h | ||
assert.h | ||
b64_decode.h | ||
base3.h | ||
bcd.h | ||
boardid.h | ||
boot_device.h | ||
bootblock_common.h | ||
bootmem.h | ||
bootmode.h | ||
bootsplash.h | ||
bootstate.h | ||
cbfs.h | ||
cbmem.h | ||
cper.h | ||
crc_byte.h | ||
ctype.h | ||
delay.h | ||
device_tree.h | ||
dimm_info_util.h | ||
edid.h | ||
elog.h | ||
endian.h | ||
espi.h | ||
fallback.h | ||
fit.h | ||
fit_payload.h | ||
fmap.h | ||
fw_config.h | ||
gic.h | ||
gpio.h | ||
halt.h | ||
imd.h | ||
input-event-codes.h | ||
inttypes.h | ||
ip_checksum.h | ||
kconfig.h | ||
lib.h | ||
list.h | ||
main_decl.h | ||
memlayout.h | ||
memory_info.h | ||
memrange.h | ||
mrc_cache.h | ||
nhlt.h | ||
option.h | ||
post.h | ||
program_loading.h | ||
ramdetect.h | ||
random.h | ||
reg_script.h | ||
region_file.h | ||
reset.h | ||
rmodule.h | ||
romstage_handoff.h | ||
rtc.h | ||
rules.h | ||
sar.h | ||
sdram_mode.h | ||
smbios.h | ||
smmstore.h | ||
spd.h | ||
spd_bin.h | ||
spd_cache.h | ||
spd_ddr2.h | ||
spi-generic.h | ||
spi_bitbang.h | ||
spi_flash.h | ||
spi_sdcard.h | ||
stage_cache.h | ||
stdarg.h | ||
stdbool.h | ||
stddef.h | ||
stdint.h | ||
stdio.h | ||
stdlib.h | ||
string.h | ||
swab.h | ||
symbols.h | ||
thread.h | ||
timer.h | ||
timestamp.h | ||
trace.h | ||
types.h | ||
uuid.h | ||
vbe.h | ||
version.h | ||
watchdog.h | ||
wrdd.h |