From 4859ce0b815e64e8fbe2cea9407eed83a77a7c6d Mon Sep 17 00:00:00 2001 From: Barnali Sarkar Date: Wed, 19 Jul 2017 16:27:23 +0530 Subject: soc/intel/skylake: Skip Spi Flash Lockdown from FSP coreboot was setting SPI FPR register to protect the mrc_cache data range stored in flash. This programming was being done after FSP Notify 1. But, FSP was locking the SPI by setting FLOCKDN Bit during Notify phase 1, due to which coreboot was unable to protect that range. As solution, FSP introduced a new UPD SpiFlashCfgLockDown to skip the lockdown of flash on interest of bootloader. Set that UPD to 0 to skip the lockdown of FAST_SPI flash from FSP. The same is being done from coreboot after end of Post at finalize.c file. BUG=b:63049493 BRANCH=none TEST=FPR can be set properly to protect the mrc_cache range. The issue reported in the bug doesn't come when both software and hardware WP is enabled with this patch. Change-Id: I3ffca2f1b05ab2e4ef631275ef7c3a6e23e393aa Signed-off-by: Barnali Sarkar Reviewed-on: https://review.coreboot.org/20645 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- src/soc/intel/skylake/chip.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/soc/intel/skylake/chip.h') diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h index 67a6783186..1377237672 100644 --- a/src/soc/intel/skylake/chip.h +++ b/src/soc/intel/skylake/chip.h @@ -487,6 +487,14 @@ struct soc_intel_skylake_config { * 0b - Disabled */ u8 eist_enable; + /* + * Skip Spi Flash Lockdown from inside FSP. + * Making this config "0" means FSP won't set the FLOCKDN bit of + * SPIBAR + 0x04 (i.e., Bit 15 of BIOS_HSFSTS_CTL). + * So, it becomes coreboot's responsibility to set this bit before + * end of POST for security concerns. + */ + u8 SpiFlashCfgLockDown; }; typedef struct soc_intel_skylake_config config_t; -- cgit v1.2.3