coreboot-kgpe-d16/configs
Eugene Myers ae438be578 security/intel/stm: Add STM support
This update is a combination of all four of the patches so that the
commit can be done without breaking parts of coreboot.  This possible
breakage is because of the cross-dependencies between the original
separate patches would cause failure because of data structure changes.

security/intel/stm

This directory contains the functions that check and move the STM to the
MSEG, create its page tables, and create the BIOS resource list.

The STM page tables is a six page region located in the MSEG and are
pointed to by the CR3 Offset field in the MSEG header.  The initial
page tables will identity map all memory between 0-4G.  The STM starts
in IA32e mode, which requires page tables to exist at startup.

The BIOS resource list defines the resources that the SMI Handler is
allowed to access.  This includes the SMM memory area where the SMI
handler resides and other resources such as I/O devices.  The STM uses
the BIOS resource list to restrict the SMI handler's accesses.

The BIOS resource list is currently located in the same area as the
SMI handler.  This location is shown in the comment section before
smm_load_module in smm_module_loader.c

Note: The files within security/intel/stm come directly from their
Tianocore counterparts.  Unnecessary code has been removed and the
remaining code has been converted to meet coreboot coding requirements.

For more information see:
     SMI Transfer Monitor (STM) User Guide, Intel Corp.,
     August 2015, Rev 1.0, can be found at firmware.intel.com

include/cpu/x86:

Addtions to include/cpu/x86 for STM support.

cpu/x86:

STM Set up - The STM needs to be loaded into the MSEG during BIOS
initialization and the SMM Monitor Control MSR be set to indicate
that an STM is in the system.

cpu/x86/smm:

SMI module loader modifications needed to set up the
SMM descriptors used by the STM during its initialization

Change-Id: If4adcd92c341162630ce1ec357ffcf8a135785ec
Signed-off-by: Eugene D. Myers <edmyers@tycho.nsa.gov>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33234
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: ron minnich <rminnich@gmail.com>
2020-02-05 18:49:27 +00:00
..
builder
config.asus_p2b_ramdebug configs/asus/p2b: Add build-test for DEBUG_RAM_SETUP 2020-01-27 07:46:00 +00:00
config.cavium_cn8100_sff_evb_bdk_verbose_fit_payload_support configs: Build test verbose BDK and FIT payload support 2018-08-20 14:34:33 +00:00
config.emulation_qemu_riscv_rv64 configs: Build test OpenSBI 2019-08-06 12:04:09 +00:00
config.emulation_qemu_x86_i440fx
config.emulation_qemu_x86_i440fx_debug src/Kconfig: Drop unused DEBUG_ACPI 2019-11-05 14:58:11 +00:00
config.emulation_qemu_x86_i440fx_noserial configs: Build test CONFIG_BOOTSPLASH 2019-09-27 16:20:16 +00:00
config.facebook_fbg1701 configs/config.facebook_fbg1701: Add config file 2019-11-08 09:19:03 +00:00
config.google_kevin_secdata_mock configs: add config.google_kevin_secdata_mock 2019-12-18 06:31:39 +00:00
config.google_meep_cros arch/x86,soc/intel: Drop RESET_ON_INVALID_RAMSTAGE_CACHE 2019-12-19 19:31:08 +00:00
config.google_reef_cros arch/x86,soc/intel: Drop RESET_ON_INVALID_RAMSTAGE_CACHE 2019-12-19 19:31:08 +00:00
config.intel.cfl_rvp11_fsp_car configs: Jenkins buildtest for FSP_CAR 2019-12-02 12:08:12 +00:00
config.intel_galileo_gen1
config.intel_galileo_gen2
config.intel_galileo_gen2.debug cpu/x86/smm: Promote smm_memory_map() 2019-08-15 05:46:59 +00:00
config.intel_galileo_gen2.fsp2.0
config.intel_galileo_gen2.sd
config.intel_galileo_gen2.vboot
config.intel_harcuvar
config.lenovo_t400_vboot_and_debug src/Kconfig: Drop unused DEBUG_ACPI 2019-11-05 14:58:11 +00:00
config.lenovo_t420_static_option_table_no_mem_fuses mb/lenovo/*: Add support for VBOOT on 8MiB devices 2019-05-08 10:31:23 +00:00
config.lenovo_thinkpad_t430_all_debug_and_option_table configs/lenovo: Drop DEBUG_SMM_RELOCATION 2019-07-15 04:49:09 +00:00
config.lenovo_x201_all_debug_option_table_bt_on_wifi src/Kconfig: Drop unused DEBUG_ACPI 2019-11-05 14:58:11 +00:00
config.lenovo_x220_mrc_bin configs: Add a target to buildtest the ivybridge mrc.bin bootpath 2019-04-23 10:18:44 +00:00
config.lenovo_x220_option_table_debug_tpm_extended_cbfs
config.pcengines_apu1 configs: add sercon port and disable pxe serial console for apu{2,3,4,5} 2018-09-16 13:04:09 +00:00
config.pcengines_apu2 configs: add sercon port and disable pxe serial console for apu{2,3,4,5} 2018-09-16 13:04:09 +00:00
config.pcengines_apu3 configs: add sercon port and disable pxe serial console for apu{2,3,4,5} 2018-09-16 13:04:09 +00:00
config.pcengines_apu4 configs: add sercon port and disable pxe serial console for apu{2,3,4,5} 2018-09-16 13:04:09 +00:00
config.pcengines_apu5 configs: add sercon port and disable pxe serial console for apu{2,3,4,5} 2018-09-16 13:04:09 +00:00
config.stm security/intel/stm: Add STM support 2020-02-05 18:49:27 +00:00
config.system76_lemp9 mainboard/system76: Add System76 Lemur Pro (lemp9) 2020-01-27 07:42:41 +00:00
config.up_squared.vboot_spi_flash_console configs: Build test flashconsole 2020-01-10 15:13:10 +00:00