diff options
author | Raul E Rangel <rrangel@chromium.org> | 2021-06-24 16:54:27 -0600 |
---|---|---|
committer | Raul Rangel <rrangel@chromium.org> | 2021-07-02 23:11:16 +0000 |
commit | e92a9825587ac1c4c6133603354f711344e742dd (patch) | |
tree | 43c170c52db27e53fc04e425d88e8aef763922bf | |
parent | e19d0efb5e4f9d3a9c0053df8b86c31da3d47ae7 (diff) |
arch/x86: Add X86_CUSTOM_BOOTMEDIA
In order to disable X86_TOP4G_BOOTMEDIA_MAP it requires the definition
to be overridden. This makes it a little less ergonomic to use. Instead
introduce the inverse option that can be selected. I chose to leave
X86_TOP4G_BOOTMEDIA_MAP since it keeps the Makefiles simple.
BUG=b:179699789
TEST=none
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Change-Id: I65bbc118bde88687a7d7749c87acf1cbdc56a269
Reviewed-on: https://review.coreboot.org/c/coreboot/+/55853
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r-- | src/arch/x86/Kconfig | 10 | ||||
-rw-r--r-- | src/soc/intel/apollolake/Kconfig | 9 | ||||
-rw-r--r-- | src/soc/intel/common/block/fast_spi/Kconfig | 15 |
3 files changed, 14 insertions, 20 deletions
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index ef07a2a03a..6af3fa8b69 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -137,11 +137,15 @@ config RAMTOP # Traditionally BIOS region on SPI flash boot media was memory mapped right below # 4G and it was the last region in the IFD. This way translation between CPU # address space to flash address was trivial. However some IFDs on newer SoCs -# have BIOS region sandwiched between descriptor and other regions. Turning off -# this option enables soc code to provide custom mmap_boot.c which can be used to -# implement complex translation. +# have BIOS region sandwiched between descriptor and other regions. Turning on +# X86_CUSTOM_BOOTMEDIA disables X86_TOP4G_BOOTMEDIA_MAP which allows the +# soc code to provide custom mmap_boot.c. +config X86_CUSTOM_BOOTMEDIA + bool + config X86_TOP4G_BOOTMEDIA_MAP bool + depends on !X86_CUSTOM_BOOTMEDIA default y # This is something you almost certainly don't want to mess with. diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig index d81015e762..6395f16f7c 100644 --- a/src/soc/intel/apollolake/Kconfig +++ b/src/soc/intel/apollolake/Kconfig @@ -112,6 +112,9 @@ config CPU_SPECIFIC_OPTIONS select INTEL_GMA_ACPI select INTEL_GMA_SWSMISCI select HAVE_ASAN_IN_ROMSTAGE + # This SoC does not map SPI flash like many previous SoC. Therefore we + # provide a custom media driver that facilitates mapping + select X86_CUSTOM_BOOTMEDIA config MAX_CPUS int @@ -173,12 +176,6 @@ config C_ENV_BOOTBLOCK_SIZE hex default 0x8000 -# This SoC does not map SPI flash like many previous SoC. Therefore we provide -# a custom media driver that facilitates mapping -config X86_TOP4G_BOOTMEDIA_MAP - bool - default n - config ROMSTAGE_ADDR hex default 0xfef20000 diff --git a/src/soc/intel/common/block/fast_spi/Kconfig b/src/soc/intel/common/block/fast_spi/Kconfig index eb2373ca8b..9257bde0f5 100644 --- a/src/soc/intel/common/block/fast_spi/Kconfig +++ b/src/soc/intel/common/block/fast_spi/Kconfig @@ -15,6 +15,10 @@ config FAST_SPI_DISABLE_WRITE_STATUS config FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW bool depends on SOC_INTEL_COMMON_BLOCK_FAST_SPI + # Enable X86_CUSTOM_BOOTMEDIA because the fast SPI controller + # driver provides a custom boot media device when multiple decode + # windows are used for the BIOS region. + select X86_CUSTOM_BOOTMEDIA help Fast SPI controller on the platform supports additional window for memory mapping BIOS region (region 1) on the SPI @@ -45,14 +49,3 @@ config EXT_BIOS_WIN_SIZE Maximum size of the extended window reserved for mapping BIOS region greater than 16MiB. The actual mapped window might be smaller depending upon the size of the BIOS region. - -if FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW - -# Disable X86_TOP4G_BOOTMEDIA_MAP because the fast SPI controller -# driver provides a custom boot media device when multiple decode -# windows are used for the BIOS region. - -config X86_TOP4G_BOOTMEDIA_MAP - default n - -endif |