blob: 13b73122421ddc29b2c281fbbbe6e6ffc2d43df6 [file] [log] [blame]
## SPDX-License-Identifier: GPL-2.0-only
config SMMSTORE
bool "Support for flash based, SMM mediated data store"
depends on BOOT_DEVICE_SUPPORTS_WRITES && HAVE_SMI_HANDLER
default y if PAYLOAD_TIANOCORE
select SPI_FLASH_SMM if BOOT_DEVICE_SPI_FLASH_RW_NOMMAP
config SMMSTORE_V2
bool "Use version 2 of SMMSTORE API"
depends on SMMSTORE
default y if TIANOCORE_UEFIPAYLOAD
default n
help
Version 2 of SMMSTORE allows secure communication with SMM and
makes no assumptions on the structure of the data stored within.
It splits the store into chunks to allows fault tolerant writes.
By using version 2 you cannot make use of software that expects
a version 1 SMMSTORE.
config SMMSTORE_IN_CBFS
bool
default n
help
Select this if you want to add an SMMSTORE region to a
cbfsfile in a cbfs FMAP region
if SMMSTORE
config SMMSTORE_REGION
string "fmap region in which SMM store file is kept" if SMMSTORE_IN_CBFS
default "RW_LEGACY" if CHROMEOS && SMMSTORE_IN_CBFS
default "COREBOOT" if SMMSTORE_IN_CBFS
default "SMMSTORE"
config SMMSTORE_FILENAME
string "SMM store file name" if SMMSTORE_IN_CBFS
default "smm_store"
config SMMSTORE_SIZE
hex "size of the SMMSTORE FMAP region"
depends on !SMMSTORE_IN_CBFS
default 0x40000
help
Sets the size of the default SMMSTORE FMAP region.
If using an UEFI payload, note that UEFI specifies at least 64K.
The current implementation of SMMSTORE is append only, so until
garbage collection is implemented it is better to set this to
a rather large value.
endif