coreboot/src
Karthikeyan Ramasubramanian 674b07247e soc/amd/common/block/apob_cache: Add support for RECOVERY_MRC_CACHE
If a mainboard has RECOVERY_MRC_CACHE and the recovery mode is enabled,
then use APOB data from that section and make any updates to that
section. Otherwise continue to use DEFAULT_MRC_CACHE section.

BUG=b:270569389
TEST=Build and boot to OS in Skyrim.

When in normal mode, DEFAULT_MRC_CACHE is used.
Normal Mode Boot1:
------------------
[DEBUG]  FMAP: area RW_MRC_CACHE found @ 0 (122880 bytes)
[INFO ]  APOB RAM hash differs from flash
[SPEW ]  Copy APOB from RAM 0x02001000/0x1db18 to flash 0x0/0x1e000
[DEBUG]  FMAP: area RW_MRC_CACHE found @ 0 (122880 bytes)
[DEBUG]  SF: Successfully erased 122880 bytes @ 0x0
[INFO ]  Updated APOB in flash
Normal Mode Boot2:
-----------------
[DEBUG]  FMAP: area RW_MRC_CACHE found @ 0 (122880 bytes)
[DEBUG]  APOB hash matches flash

When the device is in recovery mode, RECOVERY_MRC_CACHE is used.
Recovery Mode Boot1:
--------------------
[DEBUG]  FMAP: area RECOVERY_MRC_CACHE found @ 650000 (122880 bytes)
[INFO ]  APOB RAM hash differs from flash
[SPEW ]  Copy APOB from RAM 0x02001000/0x1db18 to flash 0x650000/0x1e000
[DEBUG]  FMAP: area RECOVERY_MRC_CACHE found @ 650000 (122880 bytes)
[DEBUG]  SF: Successfully erased 122880 bytes @ 0x650000
[INFO ]  Updated APOB in flash
Recovery Mode Boot2:
--------------------
[DEBUG]  FMAP: area RECOVERY_MRC_CACHE found @ 650000 (122880 bytes)
[DEBUG]  APOB hash matches flash

Switch from Recovery Mode to Normal Mode:
-----------------------------------------
[DEBUG]  FMAP: area RW_MRC_CACHE found @ 0 (122880 bytes)
[DEBUG]  APOB hash matches flash

Switch from Normal Mode to Recovery Mode:
-----------------------------------------
[DEBUG]  FMAP: area RECOVERY_MRC_CACHE found @ 650000 (122880 bytes)
[DEBUG]  APOB hash matches flash

Change-Id: I93f357e407c98b6e5fca495f4f779fad54a3430f
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73168
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
2023-02-27 19:12:03 +00:00
..
acpi acpi/acpigen_dptf: Add pkg return to dptf_write_power_limits() 2023-02-14 05:39:57 +00:00
arch arch/x86/smbios: use cpu_cpuid_extended_level instead of open coding it 2023-02-21 20:14:43 +00:00
commonlib commonlib/bsd, libpayload: Do not include helpers.h in stddef.h 2023-02-16 17:55:37 +00:00
console console: Add SimNow console logging 2023-02-09 10:01:20 +00:00
cpu tree: Move 'asmlinkage' before type 'void' 2023-02-27 00:34:18 +00:00
device device/dram/spd.c: Add Nanya's Manufacturer ID 2023-02-27 16:40:25 +00:00
drivers vga: Fix the support of extended ASCII 2023-02-21 21:31:25 +00:00
ec ec/google/chromeec: Update ec_commands.h 2023-02-27 16:41:30 +00:00
include cpu/x86/smm: Enable setting SMM console log level from mainboard 2023-02-15 21:53:07 +00:00
lib lib/gnat: Remove Compiler_Unit_Warning pragmas 2023-02-26 13:30:35 +00:00
mainboard mb/google/nissa/var/xivu: Disable world-facing microphone 2023-02-27 16:45:05 +00:00
northbridge nb/amd/pi/00730F01/acpi_tables: use existing IO_APIC2_ADDR definition 2023-02-22 22:10:46 +00:00
sbom payloads/Yabits: Remove deprecated Yabits Payload 2023-02-17 01:21:43 +00:00
security vboot: Fix reboot loop in recovery with VBOOT_CBFS_INTEGRATION 2023-02-21 01:36:50 +00:00
soc soc/amd/common/block/apob_cache: Add support for RECOVERY_MRC_CACHE 2023-02-27 19:12:03 +00:00
southbridge sb/amd/pi/hudson/fadt: drop unneeded ARM_boot_arch assignment 2023-02-22 22:09:22 +00:00
superio treewide: Remove useless "_STA: Status" comment 2023-02-19 11:20:37 +00:00
vendorcode vendorcode/intel/fsp: Add Raptor Lake FSP headers for FSP RPL.4031.01 2023-02-23 18:01:36 +00:00
Kconfig tree: Drop repeated words 2023-02-07 04:37:31 +00:00