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>
This commit is contained in:
Raul E Rangel 2021-06-24 16:54:27 -06:00 committed by Raul Rangel
parent e19d0efb5e
commit e92a982558
3 changed files with 14 additions and 20 deletions

View File

@ -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.

View File

@ -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

View File

@ -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