coreboot-kgpe-d16/src
Patrick Rudolph bc744f5893 drivers/smmstore: Implement SMMSTORE version 2
SMMSTORE version 2 is a complete redesign of the current driver. It is
not backwards-compatible with version 1, and only one version can be
used at a time.

Key features:
* Uses a fixed communication buffer instead of writing to arbitrary
  memory addresses provided by untrusted ring0 code.
* Gives the caller full control over the used data format.
* Splits the store into smaller chunks to allow fault tolerant updates.
* Doesn't provide feedback about the actual read/written bytes, just
  returns error or success in registers.
* Returns an error if the requested operation would overflow the
  communication buffer.

Separate the SMMSTORE into 64 KiB blocks that can individually be
read/written/erased. To be used by payloads that implement a
FaultTolerant Variable store like TianoCore.

The implementation has been tested against EDK2 master.

An example EDK2 implementation can be found here:
eb1127744a

Change-Id: I25e49d184135710f3e6dd1ad3bed95de950fe057
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Signed-off-by: Christian Walter <christian.walter@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40520
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
2020-10-22 12:29:47 +00:00
..
acpi acpigen: Make acpigen_write_opregion() argument const 2020-10-21 22:24:27 +00:00
arch sc7180: Enable bootblock compression 2020-10-13 22:41:19 +00:00
commonlib drivers/smmstore: Implement SMMSTORE version 2 2020-10-22 12:29:47 +00:00
console src: Rename EM100Pro-specific SPI console Kconfig option 2020-10-13 08:40:52 +00:00
cpu cpu/intel/common: Fix regression 2020-10-21 17:52:24 +00:00
device device: Allow virtual/generic devices under PCI in devicetree 2020-10-21 15:35:33 +00:00
drivers drivers/smmstore: Implement SMMSTORE version 2 2020-10-22 12:29:47 +00:00
ec ec/google/chromeec: Add wrappers to get/set the voltage 2020-10-20 06:58:11 +00:00
include drivers/smmstore: Implement SMMSTORE version 2 2020-10-22 12:29:47 +00:00
lib drivers/smmstore: Implement SMMSTORE version 2 2020-10-22 12:29:47 +00:00
mainboard dedede: Create metaknight variant 2020-10-22 12:28:25 +00:00
northbridge intel/txt: Add txt_get_chipset_dpr function 2020-10-17 09:34:35 +00:00
security security/vboot: Remove all tpm 1.2 functions for mrc hash in the tpm 2020-10-22 06:53:26 +00:00
soc soc/mediatek/mt8192: enable CONFIG_ARM64_USE_ARM_TRUSTED_FIRMWARE 2020-10-22 02:12:36 +00:00
southbridge sb/intel/ibexpeak: Align to coreboot's coding style 2020-10-20 11:52:16 +00:00
superio superio/nuvoton: Factor out equivalent Kconfig option 2020-10-19 07:06:20 +00:00
vendorcode volteer+vendorcode: Retrieve Cr50 version only via SPI 2020-10-19 07:03:37 +00:00
Kconfig drivers/intel/usb4: Add driver for USB4 retimer device 2020-10-19 06:51:40 +00:00