blob: 71111537f6b7110d97036f59768753457a29abfa [file] [log] [blame]
Aaron Durbindecd0622017-12-15 12:26:40 -07001config CACHE_MRC_SETTINGS
Arthur Heymans6ab3eda2017-12-18 17:05:14 +01002 bool
3 help
4 Save cached MRC settings
Aaron Durbindecd0622017-12-15 12:26:40 -07005
6if CACHE_MRC_SETTINGS
7
Aaron Durbindecd0622017-12-15 12:26:40 -07008config MRC_SETTINGS_CACHE_SIZE
9 hex
10 default 0x10000
11
12config MRC_SETTINGS_PROTECT
13 bool "Enable protection on MRC settings"
14 default n
15
16config HAS_RECOVERY_MRC_CACHE
17 bool
18 default n
19
Aaron Durbindecd0622017-12-15 12:26:40 -070020config MRC_SETTINGS_VARIABLE_DATA
21 bool
22 default n
23
Marshall Dawsonf69d2d62017-12-18 15:56:44 -070024config MRC_WRITE_NV_LATE
25 bool
26 default n
27 help
28 MRC settings are normally written to NVRAM at BS_DEV_ENUMERATE-EXIT.
29 If a platform requires MRC settings written to NVRAM later than
30 normal, select this item. This will cause the write to occur at
31 BS_OS_RESUME_CHECK-ENTRY.
32
Shelley Chenb4a4f592020-05-01 17:00:31 -070033config MRC_STASH_TO_CBMEM
34 bool
35 default y if MRC_WRITE_NV_LATE || BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES
36 default n
37 help
38 Instead of writing back MRC_CACHE training data back to the
39 MRC_CACHE right away, stash the data into cbmem. This data
40 will be written back later to MRC_CACHE. This is selected
41 for platforms which either do not support writes to SPI
42 flash in early stages
43 (BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES) or the platforms
44 that need to write back the MRC data in late ramstage boot
45 states (MRC_WRITE_NV_LATE).
46
Shelley Chen9f8ac642020-10-16 12:20:16 -070047config MRC_SAVE_HASH_IN_TPM
48 bool "Save a hash of the MRC_CACHE data in TPM NVRAM"
Michał Żygowskib5e729c2022-05-09 18:22:39 +020049 depends on VBOOT_STARTS_IN_BOOTBLOCK && TPM2 && !TPM1 && !VBOOT_MOCK_SECDATA
Shelley Chen9f8ac642020-10-16 12:20:16 -070050 default y
51 help
52 Store a hash of the MRC_CACHE training data in a TPM NVRAM
53 space to ensure that it cannot be tampered with.
54
Subrata Banik79274e012023-06-19 11:32:19 +000055config MRC_CACHE_USING_MRC_VERSION
56 bool
Martin Roth09202cc2023-08-24 17:19:03 -060057 default y if UDK_VERSION >= 202302
Subrata Banik79274e012023-06-19 11:32:19 +000058 default n
59 help
60 Use the MRC version info from FSP extended header to store the MRC cache data.
61 This method relies on the FSP_PRODUCER_DATA_TABLES belongs to the
62 `FspProducerDataHeader.h`file to get the MRC version.
63
64 Intel FSP built with EDK2 version 202302 onwards has support to retrieve the
65 MRC version by directly parsing the binary.
66
Aaron Durbindecd0622017-12-15 12:26:40 -070067endif # CACHE_MRC_SETTINGS