ea7fde7070
Add TXT ramstage driver:
* Show startup errors
* Check for TXT reset
* Check for Secrets-in-memory
* Add assembly for GETSEC instruction
* Check platform state if GETSEC instruction is supported
* Configure TXT memory regions
* Lock TXT
* Protect TSEG using DMA protected regions
* Place SINIT ACM
* Print information about ACMs
Extend the `security_clear_dram_request()` function:
* Clear all DRAM if secrets are in memory
Add a config so that the code gets build-tested. Since BIOS and SINIT
ACM binaries are not available, use the STM binary as a placeholder.
Tested on OCP Wedge100s and Facebook Watson
* Able to enter a Measured Launch Environment using SINIT ACM and TBOOT
* Secrets in Memory bit is set on ungraceful shutdown
* Memory is cleared after ungraceful shutdown
Change-Id: Iaf4be7f016cc12d3971e1e1fe171e6665e44c284
Signed-off-by: Philipp Deppenwiese <zaolin@das-labor.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37016
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
(cherry picked from commit
|
||
---|---|---|
.. | ||
builder | ||
config.cavium_cn8100_sff_evb_bdk_verbose_fit_payload_support | ||
config.emulation_qemu_riscv_rv64 | ||
config.emulation_qemu_x86_i440fx | ||
config.emulation_qemu_x86_i440fx_debug | ||
config.emulation_qemu_x86_i440fx_noserial | ||
config.facebook_fbg1701 | ||
config.google_meep_cros | ||
config.google_reef_cros | ||
config.intel_galileo_gen1 | ||
config.intel_galileo_gen2 | ||
config.intel_galileo_gen2.debug | ||
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 | ||
config.lenovo_t420_static_option_table_no_mem_fuses | ||
config.lenovo_thinkpad_t430_all_debug_and_option_table | ||
config.lenovo_x201_all_debug_option_table_bt_on_wifi | ||
config.lenovo_x220_mrc_bin | ||
config.lenovo_x220_option_table_debug_tpm_extended_cbfs | ||
config.pcengines_apu1 | ||
config.pcengines_apu2 | ||
config.pcengines_apu3 | ||
config.pcengines_apu4 | ||
config.pcengines_apu5 | ||
config.purism_librem15_v4.txt_build_test | ||
config.up_squared.vboot |