coreboot-kgpe-d16/src/include
Patrick Rudolph 24bb8036c9 cpu/x86/smm/smm_stub: Add x86_64 support
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>
2020-08-18 08:49:57 +00:00
..
acpi ACPI S3: Clean up resume path 2020-07-28 10:37:28 +00:00
boot src/include: Add missing includes 2020-07-26 21:37:35 +00:00
console include/console/usb.h: Drop dead code 2020-07-09 23:51:09 +00:00
cpu cpu/x86/smm/smm_stub: Add x86_64 support 2020-08-18 08:49:57 +00:00
device soc/intel/common: Move common HDA registers to <device/azalia_device.h> 2020-08-17 06:44:04 +00:00
efi
pc80 src/include: Add missing includes 2020-07-26 21:37:35 +00:00
smp smp/spinlock: Do not define barrier() globally 2020-07-26 21:00:29 +00:00
superio src/include: Add missing includes 2020-07-26 21:37:35 +00:00
sys
adainit.h
assert.h assert.h: Try to evaluate assertions at compile time 2020-08-03 05:15:59 +00:00
b64_decode.h
base3.h
bcd.h
boardid.h
boot_device.h
bootblock_common.h
bootmem.h
bootmode.h
bootsplash.h
bootstate.h src/include: Remove unused 'include <stdint.h>' 2020-07-26 20:59:16 +00:00
cbfs.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
cbmem.h lib/imd_cbmem.c: Add a helper function to indicate that cbmem is ready 2020-08-17 06:22:58 +00:00
cper.h
crc_byte.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
ctype.h
delay.h
device_tree.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
dimm_info_util.h
edid.h
elog.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
endian.h
espi.h
fallback.h
fit.h
fit_payload.h src/include: Remove unused 'include <stdint.h>' 2020-07-26 20:59:16 +00:00
fmap.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
fw_config.h
gic.h
gpio.h
halt.h
imd.h src/lib: Remove unused function parameters in imd.c 2020-08-04 07:13:59 +00:00
input-event-codes.h
inttypes.h
ip_checksum.h
kconfig.h
lib.h src/include: improve the description of hexstrtobin 2020-07-07 17:27:00 +00:00
list.h src/include: Remove unused 'include <stddef.h>' 2020-07-26 21:37:55 +00:00
main_decl.h
memlayout.h
memory_info.h smbios: Fix type 17 for Windows 10 2020-07-30 22:31:24 +00:00
memrange.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
mrc_cache.h src: Change BOOL CONFIG_ to CONFIG() in comments & strings 2020-07-26 21:20:30 +00:00
nhlt.h
option.h
post.h
program_loading.h ACPI: Clean up some S3 related leftovers 2020-06-18 12:54:46 +00:00
ramdetect.h src/include/ramdetect.h: Add missing includes 2020-07-25 01:25:57 +00:00
random.h
reg_script.h
region_file.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
reset.h
rmodule.h treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
romstage_handoff.h
rtc.h
rules.h include/rules.h: Add ENV_USER_SPACE definition 2020-07-27 21:00:23 +00:00
sar.h
sdram_mode.h
smbios.h mb/ocp/deltalake: Update SMBIOS type 4 -- Processor Information 2020-07-31 09:30:47 +00:00
smmstore.h
spd.h
spd_bin.h
spd_cache.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
spd_ddr2.h
spi-generic.h
spi_bitbang.h
spi_flash.h src: Change BOOL CONFIG_ to CONFIG() in comments & strings 2020-07-26 21:20:30 +00:00
spi_sdcard.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
stage_cache.h
stdarg.h
stdbool.h src/include: Remove unused 'include <stdint.h>' 2020-07-26 20:59:16 +00:00
stddef.h
stdint.h
stdio.h
stdlib.h
string.h lib/string: Add standard strstr() function 2020-08-03 05:12:23 +00:00
swab.h
symbols.h treewide: Replace CONFIG(ARCH_xx) tests 2020-06-17 21:13:09 +00:00
thread.h src/include: Remove unused 'include <stddef.h>' 2020-07-26 21:37:55 +00:00
timer.h
timestamp.h src/include: Add missing includes 2020-07-26 21:37:35 +00:00
trace.h
types.h
uuid.h
vbe.h
version.h ACPI: Correct asl_compiler_revision value 2019-02-21 19:07:31 +00:00
watchdog.h
wrdd.h