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:
|
||
|---|---|---|
| .. | ||
| _static | ||
| acpi | ||
| arch | ||
| community | ||
| contributing | ||
| doxygen | ||
| drivers | ||
| flash_tutorial | ||
| getting_started | ||
| gfx | ||
| ifdtool | ||
| Intel | ||
| lib | ||
| mainboard | ||
| northbridge | ||
| releases | ||
| RFC | ||
| security | ||
| soc | ||
| superio | ||
| technotes | ||
| tutorial | ||
| vendorcode | ||
| AMD-S3.txt | ||
| beginverbatim.tex | ||
| cbfs.txt | ||
| codeflow.svg | ||
| coding_style.md | ||
| conf.py | ||
| COPYING | ||
| coreboot_logo.png | ||
| corebootBuildingGuide.tex | ||
| distributions.md | ||
| Doxyfile.coreboot | ||
| Doxyfile.coreboot_simple | ||
| endverbatim.tex | ||
| gcov.txt | ||
| hypertransport.svg | ||
| index.md | ||
| mainboard_io_trap_handler_sample.c | ||
| Makefile | ||
| Makefile.sphinx | ||
| payloads.md | ||
| POSTCODES | ||
| util.md | ||