mb/google: Set CBFS_SIZE to IFD BIOS size for Intel-based boards

Set CBFS_SIZE to match the SI_BIOS region size defined in each board's
chromeos.fmd file, up to a maximum of 16MiB. This ensures the largest
possible region is available for CBFS use without requiring manual
CBFS_SIZE overrides. The size is capped at 16MiB as that is the
largest area that can be memory mapped, the FIT pointer must be
located in the top 16MiB.

This change applies to all Intel-based Google mainboards with ChromeOS
FMD layouts that explicitly define SI_BIOS region sizes, and which do
not define a default non-ChromeOS FMAP layout (octopus, reef).

For boards with multiple ChromeOS FMD files, CBFS_SIZE is set
conditionally based on ROM size or silicon variant, using the
same logic as to select the ChromeOS FMD file.

This eliminates the need to override CBFS_SIZE when using larger
payloads (e.g., edk2) or multiple payloads, making the default
configuration more flexible.

TEST=build/boot various google boards with edk2 payload without
overriding CBFS_SIZE.

Change-Id: If7ef6cc96afcdd025958c578ad80fd0db641582a
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90883
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
This commit is contained in:
Matt DeVillier 2026-01-24 11:54:20 -06:00
commit 6560bc0412
25 changed files with 79 additions and 0 deletions

View file

@ -71,6 +71,9 @@ config MAINBOARD_PART_NUMBER
config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -66,6 +66,9 @@ config MAINBOARD_FAMILY
config INTEL_GMA_VBT_FILE
default "src/mainboard/\$(MAINBOARDDIR)/data.vbt" if !BOARD_GOOGLE_MONROE
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -213,6 +213,9 @@ config HAVE_WWAN_POWER_SEQUENCE
config HAVE_PCIE_WWAN
def_bool n
config CBFS_SIZE
default 0x1000000
config USE_PM_ACPI_TIMER
default n

View file

@ -1186,6 +1186,10 @@ config UART_FOR_CONSOLE
int
default 0
config CBFS_SIZE
default 0xc60000 if BOARD_ROMSIZE_KB_16384
default 0x1000000 if BOARD_ROMSIZE_KB_32768
config HAVE_WWAN_POWER_SEQUENCE
def_bool n
help

View file

@ -35,6 +35,9 @@ config MAINBOARD_DIR
config MAINBOARD_PART_NUMBER
default "Butterfly"
config CBFS_SIZE
default 0x600000
config MAINBOARD_VENDOR
string
default "Hewlett-Packard"

View file

@ -310,6 +310,10 @@ config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-16MiB.fmd" if CHROMEOS && BOARD_ROMSIZE_KB_16384
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-32MiB.fmd" if CHROMEOS && BOARD_ROMSIZE_KB_32768
config CBFS_SIZE
default 0xc7f000 if BOARD_ROMSIZE_KB_16384
default 0x1000000 if BOARD_ROMSIZE_KB_32768
config MAINBOARD_DIR
default "google/dedede"

View file

@ -98,4 +98,7 @@ config VBOOT
config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/default.fmd" if !CHROMEOS
config CBFS_SIZE
default 0x1000000
endif # BOARD_GOOGLE_BASEBOARD_DRALLION

View file

@ -74,6 +74,9 @@ config UART_FOR_CONSOLE
int
default 2
config CBFS_SIZE
default 0xe00000
config USE_PM_ACPI_TIMER
default n
endif

View file

@ -244,6 +244,9 @@ config UART_FOR_CONSOLE
int
default 0
config CBFS_SIZE
default 0x1000000
config USE_PM_ACPI_TIMER
default n

View file

@ -102,6 +102,9 @@ config UART_FOR_CONSOLE
int
default 2
config CBFS_SIZE
default 0xe00000
config USE_PM_ACPI_TIMER
default n

View file

@ -128,6 +128,9 @@ config UART_FOR_CONSOLE
int
default 2
config CBFS_SIZE
default 0xe00000
config CONSOLE_SERIAL
bool
default n

View file

@ -125,6 +125,10 @@ config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-16MiB.fmd" if BOARD_ROMSIZE_KB_16384 && CHROMEOS
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-32MiB.fmd" if BOARD_ROMSIZE_KB_32768 && CHROMEOS
config CBFS_SIZE
default 0xc00000 if BOARD_ROMSIZE_KB_16384
default 0x1000000 if BOARD_ROMSIZE_KB_32768
config MAINBOARD_DIR
default "google/hatch"

View file

@ -55,6 +55,9 @@ config MAINBOARD_PART_NUMBER
config INTEL_GMA_VBT_FILE
default "src/mainboard/\$(MAINBOARDDIR)/data.vbt" if !BOARD_GOOGLE_TIDUS
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -103,6 +103,9 @@ config FMDFILE
but in some cases more complex setups are required.
When an fmd is specified, it overrides the default format.
config CBFS_SIZE
default 0x1000000
config MAX_CPUS
int
default 4

View file

@ -38,6 +38,9 @@ config MAINBOARD_DIR
config MAINBOARD_PART_NUMBER
default "Link"
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -210,6 +210,9 @@ config UART_FOR_CONSOLE
int
default 0
config CBFS_SIZE
default 0x1000000
config USE_PM_ACPI_TIMER
default n

View file

@ -36,6 +36,9 @@ config MAINBOARD_DIR
config MAINBOARD_PART_NUMBER
default "Parrot"
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -225,6 +225,9 @@ config UART_FOR_CONSOLE
int
default 2
config CBFS_SIZE
default 0xe00000
config USE_PM_ACPI_TIMER
default n

View file

@ -120,6 +120,10 @@ config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-16MiB.fmd" if BOARD_ROMSIZE_KB_16384 && CHROMEOS
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-32MiB.fmd" if BOARD_ROMSIZE_KB_32768 && CHROMEOS
config CBFS_SIZE
default 0xd00000 if BOARD_ROMSIZE_KB_16384
default 0x1000000 if BOARD_ROMSIZE_KB_32768
config POWER_OFF_ON_CR50_UPDATE
bool
default n

View file

@ -146,6 +146,9 @@ config MAINBOARD_PART_NUMBER
config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -259,6 +259,9 @@ config UART_FOR_CONSOLE
int
default 0
config CBFS_SIZE
default 0x1000000
config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"

View file

@ -110,4 +110,7 @@ config VBOOT
config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/default.fmd" if !CHROMEOS
config CBFS_SIZE
default 0x1000000
endif # BOARD_GOOGLE_BASEBOARD_SARIEN

View file

@ -71,6 +71,9 @@ config OVERRIDE_DEVICETREE
config INTEL_GMA_VBT_FILE
default "src/mainboard/\$(MAINBOARDDIR)/data.vbt"
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -38,6 +38,9 @@ config VGA_BIOS_ID
string
default "8086,0156"
config CBFS_SIZE
default 0x600000
config MAINBOARD_SMBIOS_MANUFACTURER
string
default "GOOGLE"

View file

@ -245,6 +245,9 @@ config VARIANT_DIR
default "volteer2" if BOARD_GOOGLE_VOLTEER2_TI50
default "voxel" if BOARD_GOOGLE_VOXEL
config CBFS_SIZE
default 0x1000000
config USE_PM_ACPI_TIMER
default n