coreboot-kgpe-d16/Documentation
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
..
Intel mb,soc/intel: Rename acpi_fill_in_fadt() to acpi_fill_fadt() 2020-06-07 21:45:45 +00:00
RFC Documentation/RFC: Drop obsolete doc 2019-10-07 01:08:55 +00:00
_static Documentation: Add static CSS file to fix tables 2018-05-14 17:21:37 +00:00
acpi Documentation/acpi: Fix the path to variants/hatch/overridetree.cb 2020-05-26 14:58:35 +00:00
arch Documentation: Fix spelling of *assumptions* 2020-10-19 07:06:59 +00:00
community Documentation: Discuss how we use language 2020-08-31 20:23:22 +00:00
contributing documentation: Add documentation ideas for season of docs 2020-05-01 13:47:06 +00:00
doxygen
drivers drivers/smmstore: Implement SMMSTORE version 2 2020-10-22 12:29:47 +00:00
flash_tutorial Documentation: Use inline code block for kernel parameter 2020-02-19 12:09:53 +00:00
getting_started Documentation/getting_started/kconfig.md: Add a note about Kconfig defaults 2020-09-25 08:41:45 +00:00
gfx drivers/intel/gma: Add override for presence straps 2020-05-20 23:38:05 +00:00
ifdtool Documentation: ifdtool/layout: use real table for FD regions 2020-02-17 20:08:41 +00:00
lib arch/arm: Enable FIT payloads 2020-08-19 07:16:59 +00:00
mainboard mb/supermicro/x11-lga1151-series: add x11ssh-f board as a variant 2020-10-20 09:00:18 +00:00
northbridge Documentation: Add tutorial for me_cleaner on Lenovo devices 2020-03-02 11:39:05 +00:00
releases Documentation: Update release notes for x86_64 2020-08-31 17:08:58 +00:00
security strongbad / coachz : Add Initial Support 2020-09-11 22:32:34 +00:00
soc soc/amd/picasso: Move APCB generation out of picasso 2020-09-10 20:26:03 +00:00
superio superio/nuvoton/nct5539d: Update documentation and remove DSDT 2020-03-11 15:03:39 +00:00
technotes Documentation: Add ASan documentation 2020-09-21 07:45:37 +00:00
tutorial Doc/tutorial/part1.md: Show how to list toolchain targets 2020-07-22 04:56:25 +00:00
vendorcode Documentation/vendorcode/eltan: Update security document 2020-01-30 13:28:24 +00:00
AMD-S3.txt
COPYING Documentation/COPYING: Remove trailing whitespace 2018-04-27 09:10:20 +00:00
Doxyfile.coreboot Documentation: Update doxygen config files 2018-05-22 07:27:58 +00:00
Doxyfile.coreboot_simple Documentation: Update doxygen config files 2018-05-22 07:27:58 +00:00
Makefile Documentation: Allow passing arguments into make livesphinx 2019-02-05 21:15:37 +00:00
Makefile.sphinx Documentation: Add several fixes 2020-07-01 21:51:26 +00:00
POSTCODES post_code: add post code for video initialization failure 2019-05-22 17:45:11 +00:00
beginverbatim.tex
cbfs.txt Fix typos involving "the the" 2018-12-18 13:24:28 +00:00
codeflow.svg Documentation: Remove whitespace before tab 2018-06-04 11:48:23 +00:00
coding_style.md Documentation/coding_style.md: Update line length limit 2019-09-04 10:54:41 +00:00
conf.py Documentation: Fix sphinx configuration 2020-08-04 12:18:29 +00:00
corebootBuildingGuide.tex Use git HTTP URLs without `/p` in it 2018-04-17 10:38:06 +00:00
coreboot_logo.png
distributions.md docs/distributions: remove entry for John Lewis' ROMs 2019-08-02 09:59:44 +00:00
endverbatim.tex
gcov.txt
hypertransport.svg
index.md Documentation: Discuss how we use language 2020-08-31 20:23:22 +00:00
mainboard_io_trap_handler_sample.c ACPI GNVS: Replace uses of smm_get_gnvs() 2020-07-01 05:14:24 +00:00
payloads.md Documentation: Add Heads to payloads 2020-03-02 11:39:16 +00:00
util.md Doc,util: Update list of utilities 2020-04-20 06:55:49 +00:00