From a7eb390796ef4ba7baaffca741664b816de12256 Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Fri, 22 Apr 2022 02:01:42 +0200 Subject: [PATCH] mb/*/*/*.fmd: Start flash at 0 FMAP should not contain information about the memory map. Done with the following command: "find -name \*.fmd -exec sed -i 's/\(FLASH\).* \(.*\) /\1 \2 /' {} \;" for AMD: All addresses that amdfwtool expects as command line parameter have the ADDR_REL_BIOS (flash address) address_mode setting. One exception is the *_FW_A_POSITION and *_FW_B_POSITION addresses. But amdfwtool checks if memory or flash addresses are passed and converts accordingly. So changing the address from memory -> flash doesn't matter for the resulting binary. Since commit 41a162b7a8e4 ("soc/amd/phoenix/Makefile.inc: Pass APOB_NV address as offset") and therefore since phoenix SOC, APOB_NV is passed as flash offset. But before that the memory ABL always assumed a MMIO address (no matter the address_mode) so we need to add a little quirk for that. tested: boot glinda based mainboard and also check that memory training is still cached successfully in APOB_NV. Change-Id: Iac86ef9be6b14817a65bf3a7ccb624d205ca3f99 Signed-off-by: Arthur Heymans Signed-off-by: Maximilian Brune Reviewed-on: https://review.coreboot.org/c/coreboot/+/63771 Tested-by: build bot (Jenkins) Reviewed-by: Shuo Liu Reviewed-by: David Hendricks Reviewed-by: Matt DeVillier --- Makefile.mk | 5 +-- src/arch/x86/walkcbfs.S | 2 +- src/mainboard/amd/bilby/board.fmd | 2 +- src/mainboard/amd/birman/board_glinda.fmd | 2 +- src/mainboard/amd/birman/board_phoenix.fmd | 2 +- src/mainboard/amd/birman/chromeos_glinda.fmd | 2 +- src/mainboard/amd/birman/chromeos_phoenix.fmd | 2 +- .../amd/birman_plus/board_phoenix.fmd | 2 +- .../amd/birman_plus/chromeos_glinda.fmd | 2 +- .../amd/birman_plus/chromeos_phoenix.fmd | 2 +- src/mainboard/amd/chausie/board.fmd | 2 +- src/mainboard/amd/chausie/chromeos.fmd | 2 +- src/mainboard/amd/crater/board_renoir.fmd | 2 +- src/mainboard/amd/crater/chromeos_renoir.fmd | 2 +- src/mainboard/amd/majolica/board.fmd | 2 +- src/mainboard/amd/majolica/chromeos.fmd | 2 +- .../amd/mandolin/variants/cereme/board.fmd | 2 +- .../amd/mandolin/variants/mandolin/board.fmd | 2 +- src/mainboard/amd/mayan/board.fmd | 2 +- src/mainboard/amd/mayan/chromeos.fmd | 2 +- src/mainboard/arm/rdn2/flash.fmd | 2 +- src/mainboard/bytedance/bd_egs/board.fmd | 2 +- src/mainboard/cavium/cn8100_sff_evb/board.fmd | 2 +- .../emulation/qemu-i440fx/vboot-rwa-8M.fmd | 2 +- .../emulation/qemu-q35/vboot-rwa-8M.fmd | 2 +- .../emulation/qemu-q35/vboot-rwab-8M.fmd | 2 +- src/mainboard/emulation/qemu-sbsa/flash.fmd | 2 +- src/mainboard/facebook/fbg1701/vboot-rw.fmd | 2 +- src/mainboard/framework/azalea/coreboot.fmd | 2 +- src/mainboard/google/asurada/chromeos.fmd | 2 +- src/mainboard/google/auron/chromeos.fmd | 2 +- src/mainboard/google/beltino/chromeos.fmd | 2 +- src/mainboard/google/butterfly/chromeos.fmd | 2 +- src/mainboard/google/cherry/chromeos.fmd | 2 +- src/mainboard/google/corsola/chromeos.fmd | 2 +- src/mainboard/google/cyan/chromeos.fmd | 2 +- src/mainboard/google/daisy/chromeos.fmd | 2 +- .../google/dedede/chromeos-dedede-16MiB.fmd | 2 +- .../google/dedede/chromeos-dedede-32MiB.fmd | 2 +- src/mainboard/google/drallion/chromeos.fmd | 2 +- src/mainboard/google/drallion/default.fmd | 2 +- src/mainboard/google/eve/chromeos.fmd | 2 +- src/mainboard/google/fizz/chromeos.fmd | 2 +- src/mainboard/google/foster/chromeos.fmd | 2 +- src/mainboard/google/gale/chromeos.fmd | 2 +- src/mainboard/google/geralt/chromeos.fmd | 2 +- src/mainboard/google/glados/chromeos.fmd | 2 +- src/mainboard/google/gru/chromeos.fmd | 2 +- src/mainboard/google/guybrush/chromeos.fmd | 2 +- src/mainboard/google/hatch/chromeos-16MiB.fmd | 2 +- src/mainboard/google/hatch/chromeos-32MiB.fmd | 2 +- src/mainboard/google/herobrine/chromeos.fmd | 4 +-- src/mainboard/google/jecht/chromeos.fmd | 2 +- .../kahlee/variants/baseboard/chromeos.fmd | 2 +- src/mainboard/google/kukui/chromeos.fmd | 2 +- src/mainboard/google/link/chromeos.fmd | 2 +- src/mainboard/google/mistral/chromeos.fmd | 2 +- src/mainboard/google/myst/chromeos.fmd | 2 +- src/mainboard/google/nyan/chromeos.fmd | 2 +- src/mainboard/google/nyan_big/chromeos.fmd | 2 +- src/mainboard/google/nyan_blaze/chromeos.fmd | 2 +- src/mainboard/google/oak/chromeos.fmd | 2 +- src/mainboard/google/parrot/chromeos.fmd | 2 +- src/mainboard/google/peach_pit/chromeos.fmd | 2 +- src/mainboard/google/poppy/chromeos.fmd | 2 +- src/mainboard/google/puff/chromeos-16MiB.fmd | 2 +- src/mainboard/google/puff/chromeos-32MiB.fmd | 2 +- src/mainboard/google/rambi/chromeos.fmd | 2 +- src/mainboard/google/rauru/chromeos.fmd | 2 +- src/mainboard/google/sarien/chromeos.fmd | 2 +- src/mainboard/google/sarien/default.fmd | 2 +- src/mainboard/google/skyrim/chromeos.fmd | 2 +- src/mainboard/google/skywalker/chromeos.fmd | 2 +- src/mainboard/google/slippy/chromeos.fmd | 2 +- src/mainboard/google/smaug/chromeos.fmd | 2 +- src/mainboard/google/storm/chromeos.fmd | 2 +- src/mainboard/google/stout/chromeos.fmd | 2 +- src/mainboard/google/trogdor/chromeos.fmd | 2 +- src/mainboard/google/veyron/chromeos.fmd | 2 +- .../google/veyron_mickey/chromeos.fmd | 2 +- .../google/veyron_rialto/chromeos.fmd | 2 +- src/mainboard/google/zork/chromeos.fmd | 2 +- src/mainboard/ibm/sbp1/board.fmd | 2 +- src/mainboard/intel/avenuecity_crb/board.fmd | 2 +- src/mainboard/intel/baskingridge/chromeos.fmd | 2 +- .../intel/beechnutcity_crb/board.fmd | 2 +- src/mainboard/intel/cedarisland_crb/board.fmd | 2 +- .../intel/coffeelake_rvp/chromeos.fmd | 2 +- .../intel/coffeelake_rvp/chromeos_32MB.fmd | 2 +- src/mainboard/intel/frost_creek/board.fmd | 2 +- .../intel/jasperlake_rvp/chromeos.fmd | 2 +- src/mainboard/intel/kblrvp/chromeos.fmd | 2 +- src/mainboard/intel/kunimitsu/chromeos.fmd | 2 +- .../intel/shadowmountain/chromeos.fmd | 2 +- src/mainboard/intel/strago/chromeos.fmd | 2 +- src/mainboard/intel/tglrvp/chromeos.fmd | 2 +- src/mainboard/intel/wtm2/chromeos.fmd | 2 +- .../lenovo/haswell/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/haswell/vboot-ro.fmd | 2 +- src/mainboard/lenovo/haswell/vboot-rwab.fmd | 2 +- src/mainboard/lenovo/t400/vboot-rwa.fmd | 2 +- src/mainboard/lenovo/t410/vboot-rwa.fmd | 2 +- .../lenovo/t420/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/t420/vboot-ro.fmd | 2 +- src/mainboard/lenovo/t420/vboot-rwa.fmd | 2 +- .../lenovo/t420s/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/t420s/vboot-ro.fmd | 2 +- src/mainboard/lenovo/t420s/vboot-rwa.fmd | 2 +- .../lenovo/t430/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/t430/vboot-ro.fmd | 2 +- src/mainboard/lenovo/t430/vboot-rwab.fmd | 2 +- .../lenovo/t430s/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/t430s/vboot-ro.fmd | 2 +- src/mainboard/lenovo/t430s/vboot-rwab.fmd | 2 +- .../lenovo/t520/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/t520/vboot-ro.fmd | 2 +- src/mainboard/lenovo/t520/vboot-rwa.fmd | 2 +- .../lenovo/t530/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/t530/vboot-ro.fmd | 2 +- src/mainboard/lenovo/t530/vboot-rwab.fmd | 2 +- .../lenovo/x131e/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/x131e/vboot-ro.fmd | 2 +- src/mainboard/lenovo/x131e/vboot-rwab.fmd | 2 +- .../x1_carbon_gen1/vboot-ro-me_clean.fmd | 2 +- .../lenovo/x1_carbon_gen1/vboot-ro.fmd | 2 +- .../lenovo/x1_carbon_gen1/vboot-rwab.fmd | 2 +- src/mainboard/lenovo/x200/vboot-rwa.fmd | 2 +- src/mainboard/lenovo/x201/vboot-rwa.fmd | 2 +- .../lenovo/x220/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/x220/vboot-ro.fmd | 2 +- src/mainboard/lenovo/x220/vboot-rwa.fmd | 2 +- .../lenovo/x230/vboot-ro-me_clean.fmd | 2 +- src/mainboard/lenovo/x230/vboot-ro.fmd | 2 +- src/mainboard/lenovo/x230/vboot-rwab.fmd | 2 +- src/mainboard/lenovo/x60/vboot-rwa.fmd | 2 +- src/mainboard/opencellular/elgon/board.fmd | 2 +- src/mainboard/opencellular/elgon/vboot.fmd | 2 +- .../protectli/vault_adl_p/vboot-rwa.fmd | 2 +- src/mainboard/protectli/vault_cml/board.fmd | 2 +- .../protectli/vault_cml/vboot-rwa.fmd | 2 +- src/mainboard/samsung/lumpy/chromeos.fmd | 2 +- src/mainboard/samsung/stumpy/chromeos.fmd | 2 +- src/mainboard/siemens/fa_ehl/fa_ehl.fmd | 2 +- src/mainboard/siemens/mc_ehl/mc_ehl.fmd | 2 +- src/mainboard/ti/beaglebone/board.fmd | 2 +- src/soc/amd/glinda/Makefile.mk | 9 ++--- src/soc/amd/mendocino/Makefile.mk | 12 +++---- src/soc/amd/phoenix/Makefile.mk | 14 +++----- util/amdfwtool/amdfwread.c | 4 --- util/amdfwtool/amdfwtool.h | 5 +++ util/amdfwtool/data_parse.c | 34 +++++++++++++++++++ util/amdfwtool/opts.c | 2 +- util/cbfstool/default-x86.fmd | 2 +- util/cbfstool/default.fmd | 2 +- 154 files changed, 199 insertions(+), 180 deletions(-) diff --git a/Makefile.mk b/Makefile.mk index bc547dec13..19bac29060 100644 --- a/Makefile.mk +++ b/Makefile.mk @@ -1096,7 +1096,6 @@ endif # ifeq($(CONFIG_HAVE_IFD_BIN),y) endif # ifneq($(CONFIG_IFD_CHIPSET),) # entire flash -FMAP_ROM_ADDR := $(call int-subtract, 0x100000000 $(CONFIG_ROM_SIZE)) FMAP_ROM_SIZE := $(CONFIG_ROM_SIZE) # entire "BIOS" region (everything directly of concern to the host system) # relative to ROM_BASE @@ -1185,7 +1184,6 @@ else # ifeq ($(CONFIG_ARCH_X86),y) DEFAULT_FLASHMAP:=$(top)/util/cbfstool/default.fmd # entire flash -FMAP_ROM_ADDR := 0 FMAP_ROM_SIZE := $(CONFIG_ROM_SIZE) # entire "BIOS" region (everything directly of concern to the host system) # relative to ROM_BASE @@ -1233,8 +1231,7 @@ FMAP_CBFS_SIZE := $(call int-subtract,$(FMAP_BIOS_SIZE) $(FMAP_CBFS_BASE)) endif # ifeq ($(CONFIG_ARCH_X86),y) $(obj)/fmap.fmd: $(top)/Makefile.mk $(DEFAULT_FLASHMAP) $(obj)/config.h - sed -e "s,##ROM_BASE##,$(FMAP_ROM_ADDR)," \ - -e "s,##ROM_SIZE##,$(FMAP_ROM_SIZE)," \ + sed -e "s,##ROM_SIZE##,$(FMAP_ROM_SIZE)," \ -e "s,##BIOS_BASE##,$(FMAP_BIOS_BASE)," \ -e "s,##BIOS_SIZE##,$(FMAP_BIOS_SIZE)," \ -e "s,##FMAP_BASE##,$(FMAP_FMAP_BASE)," \ diff --git a/src/arch/x86/walkcbfs.S b/src/arch/x86/walkcbfs.S index f4b8d2541d..a017ee1e5c 100644 --- a/src/arch/x86/walkcbfs.S +++ b/src/arch/x86/walkcbfs.S @@ -93,7 +93,7 @@ tryharder: check_for_exit: /* if addr <= COREBOOT_END - 1, continue */ -#define FMAP_SECTION_COREBOOT_END (FMAP_SECTION_COREBOOT_START - 1 + FMAP_SECTION_COREBOOT_SIZE) +#define FMAP_SECTION_COREBOOT_END (COREBOOT_CBFS_START - 1 + FMAP_SECTION_COREBOOT_SIZE) movl $FMAP_SECTION_COREBOOT_END, %ecx cmp %ecx, %ebx diff --git a/src/mainboard/amd/bilby/board.fmd b/src/mainboard/amd/bilby/board.fmd index b27d9d3bae..e05642321a 100644 --- a/src/mainboard/amd/bilby/board.fmd +++ b/src/mainboard/amd/bilby/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { RW_MRC_CACHE 64K COREBOOT(CBFS) diff --git a/src/mainboard/amd/birman/board_glinda.fmd b/src/mainboard/amd/birman/board_glinda.fmd index bc09fe75d5..4f5598cd77 100644 --- a/src/mainboard/amd/birman/board_glinda.fmd +++ b/src/mainboard/amd/birman/board_glinda.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC_SIG 4K FMAP 4K diff --git a/src/mainboard/amd/birman/board_phoenix.fmd b/src/mainboard/amd/birman/board_phoenix.fmd index bc09fe75d5..4f5598cd77 100644 --- a/src/mainboard/amd/birman/board_phoenix.fmd +++ b/src/mainboard/amd/birman/board_phoenix.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC_SIG 4K FMAP 4K diff --git a/src/mainboard/amd/birman/chromeos_glinda.fmd b/src/mainboard/amd/birman/chromeos_glinda.fmd index 420ed6e6d4..9cc4fbd050 100644 --- a/src/mainboard/amd/birman/chromeos_glinda.fmd +++ b/src/mainboard/amd/birman/chromeos_glinda.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { WP_RO 8M { EC_SIG 4K diff --git a/src/mainboard/amd/birman/chromeos_phoenix.fmd b/src/mainboard/amd/birman/chromeos_phoenix.fmd index 420ed6e6d4..9cc4fbd050 100644 --- a/src/mainboard/amd/birman/chromeos_phoenix.fmd +++ b/src/mainboard/amd/birman/chromeos_phoenix.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { WP_RO 8M { EC_SIG 4K diff --git a/src/mainboard/amd/birman_plus/board_phoenix.fmd b/src/mainboard/amd/birman_plus/board_phoenix.fmd index bc09fe75d5..4f5598cd77 100644 --- a/src/mainboard/amd/birman_plus/board_phoenix.fmd +++ b/src/mainboard/amd/birman_plus/board_phoenix.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC_SIG 4K FMAP 4K diff --git a/src/mainboard/amd/birman_plus/chromeos_glinda.fmd b/src/mainboard/amd/birman_plus/chromeos_glinda.fmd index 420ed6e6d4..9cc4fbd050 100644 --- a/src/mainboard/amd/birman_plus/chromeos_glinda.fmd +++ b/src/mainboard/amd/birman_plus/chromeos_glinda.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { WP_RO 8M { EC_SIG 4K diff --git a/src/mainboard/amd/birman_plus/chromeos_phoenix.fmd b/src/mainboard/amd/birman_plus/chromeos_phoenix.fmd index 420ed6e6d4..9cc4fbd050 100644 --- a/src/mainboard/amd/birman_plus/chromeos_phoenix.fmd +++ b/src/mainboard/amd/birman_plus/chromeos_phoenix.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { WP_RO 8M { EC_SIG 4K diff --git a/src/mainboard/amd/chausie/board.fmd b/src/mainboard/amd/chausie/board.fmd index 6c6ad92a28..eace04152f 100644 --- a/src/mainboard/amd/chausie/board.fmd +++ b/src/mainboard/amd/chausie/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC 4K RW_MRC_CACHE 120K diff --git a/src/mainboard/amd/chausie/chromeos.fmd b/src/mainboard/amd/chausie/chromeos.fmd index c0e02dd5b8..96cc1dc4de 100644 --- a/src/mainboard/amd/chausie/chromeos.fmd +++ b/src/mainboard/amd/chausie/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { EC 4K RW_MRC_CACHE(PRESERVE) 120K diff --git a/src/mainboard/amd/crater/board_renoir.fmd b/src/mainboard/amd/crater/board_renoir.fmd index 556e295a11..b5a4e73a00 100644 --- a/src/mainboard/amd/crater/board_renoir.fmd +++ b/src/mainboard/amd/crater/board_renoir.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC_SIG 4K FMAP 4K diff --git a/src/mainboard/amd/crater/chromeos_renoir.fmd b/src/mainboard/amd/crater/chromeos_renoir.fmd index 76a21f6635..12b472774e 100644 --- a/src/mainboard/amd/crater/chromeos_renoir.fmd +++ b/src/mainboard/amd/crater/chromeos_renoir.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { WP_RO 8M { EC_SIG 4K diff --git a/src/mainboard/amd/majolica/board.fmd b/src/mainboard/amd/majolica/board.fmd index 442d80f341..fc7108b77c 100644 --- a/src/mainboard/amd/majolica/board.fmd +++ b/src/mainboard/amd/majolica/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC 128K RW_MRC_CACHE 64K diff --git a/src/mainboard/amd/majolica/chromeos.fmd b/src/mainboard/amd/majolica/chromeos.fmd index 1a1d96bbb3..eecbbb1d43 100644 --- a/src/mainboard/amd/majolica/chromeos.fmd +++ b/src/mainboard/amd/majolica/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { EC 128K RW_MRC_CACHE(PRESERVE) 64K diff --git a/src/mainboard/amd/mandolin/variants/cereme/board.fmd b/src/mainboard/amd/mandolin/variants/cereme/board.fmd index 442d80f341..fc7108b77c 100644 --- a/src/mainboard/amd/mandolin/variants/cereme/board.fmd +++ b/src/mainboard/amd/mandolin/variants/cereme/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC 128K RW_MRC_CACHE 64K diff --git a/src/mainboard/amd/mandolin/variants/mandolin/board.fmd b/src/mainboard/amd/mandolin/variants/mandolin/board.fmd index 33b281d37f..522330c1f4 100644 --- a/src/mainboard/amd/mandolin/variants/mandolin/board.fmd +++ b/src/mainboard/amd/mandolin/variants/mandolin/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF800000 8M { +FLASH 8M { BIOS { EC 128K RW_MRC_CACHE 64K diff --git a/src/mainboard/amd/mayan/board.fmd b/src/mainboard/amd/mayan/board.fmd index 6f7af56ecb..2600ec75a2 100644 --- a/src/mainboard/amd/mayan/board.fmd +++ b/src/mainboard/amd/mayan/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { BIOS { EC 4K FMAP 4K diff --git a/src/mainboard/amd/mayan/chromeos.fmd b/src/mainboard/amd/mayan/chromeos.fmd index b70d561826..b77203f589 100644 --- a/src/mainboard/amd/mayan/chromeos.fmd +++ b/src/mainboard/amd/mayan/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { WP_RO 8M { EC 4K diff --git a/src/mainboard/arm/rdn2/flash.fmd b/src/mainboard/arm/rdn2/flash.fmd index 2b75d355d1..dc7e866301 100644 --- a/src/mainboard/arm/rdn2/flash.fmd +++ b/src/mainboard/arm/rdn2/flash.fmd @@ -1,4 +1,4 @@ -FLASH@0x08000000 CONFIG_ROM_SIZE { +FLASH CONFIG_ROM_SIZE { BIOS@0x0 CONFIG_ROM_SIZE { diff --git a/src/mainboard/bytedance/bd_egs/board.fmd b/src/mainboard/bytedance/bd_egs/board.fmd index 1a58bb196b..2c5ddd286b 100644 --- a/src/mainboard/bytedance/bd_egs/board.fmd +++ b/src/mainboard/bytedance/bd_egs/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xfc000000 64M { +FLASH 64M { SI_ALL@0x0 0x03000000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/cavium/cn8100_sff_evb/board.fmd b/src/mainboard/cavium/cn8100_sff_evb/board.fmd index 011d0701aa..bfab2eb4e3 100644 --- a/src/mainboard/cavium/cn8100_sff_evb/board.fmd +++ b/src/mainboard/cavium/cn8100_sff_evb/board.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 0x800000 { RO_SECTION@0x0 0x7fc000 { # 0 - 0x10000 is free for firmware usage. diff --git a/src/mainboard/emulation/qemu-i440fx/vboot-rwa-8M.fmd b/src/mainboard/emulation/qemu-i440fx/vboot-rwa-8M.fmd index 55a38b79a9..159a5e3f41 100644 --- a/src/mainboard/emulation/qemu-i440fx/vboot-rwa-8M.fmd +++ b/src/mainboard/emulation/qemu-i440fx/vboot-rwa-8M.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_BIOS 0x800000 { RW_SECTION_A 0x3c0000 { VBLOCK_A 0x10000 diff --git a/src/mainboard/emulation/qemu-q35/vboot-rwa-8M.fmd b/src/mainboard/emulation/qemu-q35/vboot-rwa-8M.fmd index 55a38b79a9..159a5e3f41 100644 --- a/src/mainboard/emulation/qemu-q35/vboot-rwa-8M.fmd +++ b/src/mainboard/emulation/qemu-q35/vboot-rwa-8M.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_BIOS 0x800000 { RW_SECTION_A 0x3c0000 { VBLOCK_A 0x10000 diff --git a/src/mainboard/emulation/qemu-q35/vboot-rwab-8M.fmd b/src/mainboard/emulation/qemu-q35/vboot-rwab-8M.fmd index 8064fdfeaf..8bc95f846c 100644 --- a/src/mainboard/emulation/qemu-q35/vboot-rwab-8M.fmd +++ b/src/mainboard/emulation/qemu-q35/vboot-rwab-8M.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_BIOS 0x800000 { RW_SECTION_A 0x1c0000 { VBLOCK_A 0x10000 diff --git a/src/mainboard/emulation/qemu-sbsa/flash.fmd b/src/mainboard/emulation/qemu-sbsa/flash.fmd index fcc6e19a99..e91034eb51 100644 --- a/src/mainboard/emulation/qemu-sbsa/flash.fmd +++ b/src/mainboard/emulation/qemu-sbsa/flash.fmd @@ -12,7 +12,7 @@ # +-------------+ <-- ROM_SIZE # -FLASH@0x10000000 CONFIG_ROM_SIZE { +FLASH CONFIG_ROM_SIZE { BIOS { diff --git a/src/mainboard/facebook/fbg1701/vboot-rw.fmd b/src/mainboard/facebook/fbg1701/vboot-rw.fmd index a00c0c9d92..baaacc0309 100644 --- a/src/mainboard/facebook/fbg1701/vboot-rw.fmd +++ b/src/mainboard/facebook/fbg1701/vboot-rw.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 8M { +FLASH 8M { SI_BIOS@0x200000 0x600000 { MISC_RW@0x0 0x0a000 { RW_MRC_CACHE@0x0 0x08000 diff --git a/src/mainboard/framework/azalea/coreboot.fmd b/src/mainboard/framework/azalea/coreboot.fmd index 8f47443c1d..f9cc100826 100644 --- a/src/mainboard/framework/azalea/coreboot.fmd +++ b/src/mainboard/framework/azalea/coreboot.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 32M { +FLASH 32M { BIOS_PAGE_1 16M { FMAP 4K COREBOOT(CBFS) diff --git a/src/mainboard/google/asurada/chromeos.fmd b/src/mainboard/google/asurada/chromeos.fmd index bb2a95cd0f..5716251d63 100644 --- a/src/mainboard/google/asurada/chromeos.fmd +++ b/src/mainboard/google/asurada/chromeos.fmd @@ -10,7 +10,7 @@ # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K diff --git a/src/mainboard/google/auron/chromeos.fmd b/src/mainboard/google/auron/chromeos.fmd index 923c8ee18a..dae8796a27 100644 --- a/src/mainboard/google/auron/chromeos.fmd +++ b/src/mainboard/google/auron/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/beltino/chromeos.fmd b/src/mainboard/google/beltino/chromeos.fmd index 923c8ee18a..dae8796a27 100644 --- a/src/mainboard/google/beltino/chromeos.fmd +++ b/src/mainboard/google/beltino/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/butterfly/chromeos.fmd b/src/mainboard/google/butterfly/chromeos.fmd index 93048a37ec..ef8ca78ff9 100644 --- a/src/mainboard/google/butterfly/chromeos.fmd +++ b/src/mainboard/google/butterfly/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/cherry/chromeos.fmd b/src/mainboard/google/cherry/chromeos.fmd index bb2a95cd0f..5716251d63 100644 --- a/src/mainboard/google/cherry/chromeos.fmd +++ b/src/mainboard/google/cherry/chromeos.fmd @@ -10,7 +10,7 @@ # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K diff --git a/src/mainboard/google/corsola/chromeos.fmd b/src/mainboard/google/corsola/chromeos.fmd index 5b2234d39e..6b3cecbee5 100644 --- a/src/mainboard/google/corsola/chromeos.fmd +++ b/src/mainboard/google/corsola/chromeos.fmd @@ -10,7 +10,7 @@ # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K diff --git a/src/mainboard/google/cyan/chromeos.fmd b/src/mainboard/google/cyan/chromeos.fmd index bc9bac3344..a41a8c1a41 100644 --- a/src/mainboard/google/cyan/chromeos.fmd +++ b/src/mainboard/google/cyan/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/daisy/chromeos.fmd b/src/mainboard/google/daisy/chromeos.fmd index 63bde335cb..60794a8a50 100644 --- a/src/mainboard/google/daisy/chromeos.fmd +++ b/src/mainboard/google/daisy/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/dedede/chromeos-dedede-16MiB.fmd b/src/mainboard/google/dedede/chromeos-dedede-16MiB.fmd index 0e21c4c91b..5c80e6df49 100644 --- a/src/mainboard/google/dedede/chromeos-dedede-16MiB.fmd +++ b/src/mainboard/google/dedede/chromeos-dedede-16MiB.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x381000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x380000 diff --git a/src/mainboard/google/dedede/chromeos-dedede-32MiB.fmd b/src/mainboard/google/dedede/chromeos-dedede-32MiB.fmd index 60ea3ded64..ece712d7e1 100644 --- a/src/mainboard/google/dedede/chromeos-dedede-32MiB.fmd +++ b/src/mainboard/google/dedede/chromeos-dedede-32MiB.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x4ff000 diff --git a/src/mainboard/google/drallion/chromeos.fmd b/src/mainboard/google/drallion/chromeos.fmd index 6e9170ed41..6923886a50 100644 --- a/src/mainboard/google/drallion/chromeos.fmd +++ b/src/mainboard/google/drallion/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x438000 { SI_DESC@0x0 0x1000 SI_EC@0x1000 0x100000 diff --git a/src/mainboard/google/drallion/default.fmd b/src/mainboard/google/drallion/default.fmd index 4f2bedf9c2..9d1216b009 100644 --- a/src/mainboard/google/drallion/default.fmd +++ b/src/mainboard/google/drallion/default.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_BIOS@0x400000 { MEMORY_MAPPED@0xc00000 { /* 16MiB total */ RW_MRC_CACHE 0x10000 diff --git a/src/mainboard/google/eve/chromeos.fmd b/src/mainboard/google/eve/chromeos.fmd index 1cc4a61ae2..92bca1b4ca 100644 --- a/src/mainboard/google/eve/chromeos.fmd +++ b/src/mainboard/google/eve/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/fizz/chromeos.fmd b/src/mainboard/google/fizz/chromeos.fmd index 1cc4a61ae2..92bca1b4ca 100644 --- a/src/mainboard/google/fizz/chromeos.fmd +++ b/src/mainboard/google/fizz/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/foster/chromeos.fmd b/src/mainboard/google/foster/chromeos.fmd index f9a531cc4b..5a5f903969 100644 --- a/src/mainboard/google/foster/chromeos.fmd +++ b/src/mainboard/google/foster/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x300000 { RO_SECTION@0x0 0x2f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/gale/chromeos.fmd b/src/mainboard/google/gale/chromeos.fmd index 3a55bdcae4..4d3c91344a 100644 --- a/src/mainboard/google/gale/chromeos.fmd +++ b/src/mainboard/google/gale/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x800000 { +FLASH 0x800000 { WP_RO@0x0 0x400000 { RO_SECTION@0x0 0x3e0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/geralt/chromeos.fmd b/src/mainboard/google/geralt/chromeos.fmd index a8c4dfe0af..f3302996dd 100644 --- a/src/mainboard/google/geralt/chromeos.fmd +++ b/src/mainboard/google/geralt/chromeos.fmd @@ -10,7 +10,7 @@ # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K diff --git a/src/mainboard/google/glados/chromeos.fmd b/src/mainboard/google/glados/chromeos.fmd index 9ba1bf7275..813271259a 100644 --- a/src/mainboard/google/glados/chromeos.fmd +++ b/src/mainboard/google/glados/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/gru/chromeos.fmd b/src/mainboard/google/gru/chromeos.fmd index 032f472463..f569c3075c 100644 --- a/src/mainboard/google/gru/chromeos.fmd +++ b/src/mainboard/google/gru/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x800000 { +FLASH 0x800000 { WP_RO@0x0 0x400000 { RO_SECTION@0x0 0x3e0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/guybrush/chromeos.fmd b/src/mainboard/google/guybrush/chromeos.fmd index c4c90a13fe..922ed6f4c8 100644 --- a/src/mainboard/google/guybrush/chromeos.fmd +++ b/src/mainboard/google/guybrush/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { RW_MRC_CACHE(PRESERVE) 64K RW_SECTION_A 3M { diff --git a/src/mainboard/google/hatch/chromeos-16MiB.fmd b/src/mainboard/google/hatch/chromeos-16MiB.fmd index 8880a4f9fe..83a828e4ba 100644 --- a/src/mainboard/google/hatch/chromeos-16MiB.fmd +++ b/src/mainboard/google/hatch/chromeos-16MiB.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x400000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x3ff000 diff --git a/src/mainboard/google/hatch/chromeos-32MiB.fmd b/src/mainboard/google/hatch/chromeos-32MiB.fmd index 8368b0a44b..2161ed5f82 100644 --- a/src/mainboard/google/hatch/chromeos-32MiB.fmd +++ b/src/mainboard/google/hatch/chromeos-32MiB.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x400000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x3ff000 diff --git a/src/mainboard/google/herobrine/chromeos.fmd b/src/mainboard/google/herobrine/chromeos.fmd index b7633a497e..5642fab509 100644 --- a/src/mainboard/google/herobrine/chromeos.fmd +++ b/src/mainboard/google/herobrine/chromeos.fmd @@ -3,9 +3,9 @@ # TODO: update for Herobrine #if CONFIG_BOARD_GOOGLE_PIGLIN || CONFIG_BOARD_GOOGLE_HOGLIN -FLASH@0x0 CONFIG_ROM_SIZE { +FLASH CONFIG_ROM_SIZE { #else -FLASH@0x0 8M { +FLASH 8M { #endif WP_RO 4M { RO_SECTION 0x3c4000 { diff --git a/src/mainboard/google/jecht/chromeos.fmd b/src/mainboard/google/jecht/chromeos.fmd index 923c8ee18a..dae8796a27 100644 --- a/src/mainboard/google/jecht/chromeos.fmd +++ b/src/mainboard/google/jecht/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/kahlee/variants/baseboard/chromeos.fmd b/src/mainboard/google/kahlee/variants/baseboard/chromeos.fmd index d7d0a886d3..faabc0b1b1 100644 --- a/src/mainboard/google/kahlee/variants/baseboard/chromeos.fmd +++ b/src/mainboard/google/kahlee/variants/baseboard/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 0x1000000 { +FLASH 0x1000000 { SI_BIOS@0x0 0x1000000 { UNIFIED_MRC_CACHE@0x0 0x21000 { RW_MRC_CACHE@0x0 0x10000 diff --git a/src/mainboard/google/kukui/chromeos.fmd b/src/mainboard/google/kukui/chromeos.fmd index 61d45b0816..8158ad2f2c 100644 --- a/src/mainboard/google/kukui/chromeos.fmd +++ b/src/mainboard/google/kukui/chromeos.fmd @@ -10,7 +10,7 @@ # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K diff --git a/src/mainboard/google/link/chromeos.fmd b/src/mainboard/google/link/chromeos.fmd index 3841445eec..986e0a3c3e 100644 --- a/src/mainboard/google/link/chromeos.fmd +++ b/src/mainboard/google/link/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/mistral/chromeos.fmd b/src/mainboard/google/mistral/chromeos.fmd index ccdfbde006..e412c97456 100644 --- a/src/mainboard/google/mistral/chromeos.fmd +++ b/src/mainboard/google/mistral/chromeos.fmd @@ -1,6 +1,6 @@ ## SPDX-License-Identifier: GPL-2.0-only -FLASH@0x0 8M { +FLASH 8M { WP_RO 4M { RO_SECTION 0x204000 { BOOTBLOCK 128K diff --git a/src/mainboard/google/myst/chromeos.fmd b/src/mainboard/google/myst/chromeos.fmd index 2bfa260e71..81fcbe3360 100644 --- a/src/mainboard/google/myst/chromeos.fmd +++ b/src/mainboard/google/myst/chromeos.fmd @@ -1,5 +1,5 @@ # TODO(b/276944900): Update for 32 MB support, evaluate WP_RO size -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { WP_RO 4M { RO_GSCVD 8K diff --git a/src/mainboard/google/nyan/chromeos.fmd b/src/mainboard/google/nyan/chromeos.fmd index bca13463cb..206326169d 100644 --- a/src/mainboard/google/nyan/chromeos.fmd +++ b/src/mainboard/google/nyan/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/nyan_big/chromeos.fmd b/src/mainboard/google/nyan_big/chromeos.fmd index bca13463cb..206326169d 100644 --- a/src/mainboard/google/nyan_big/chromeos.fmd +++ b/src/mainboard/google/nyan_big/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/nyan_blaze/chromeos.fmd b/src/mainboard/google/nyan_blaze/chromeos.fmd index bca13463cb..206326169d 100644 --- a/src/mainboard/google/nyan_blaze/chromeos.fmd +++ b/src/mainboard/google/nyan_blaze/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/oak/chromeos.fmd b/src/mainboard/google/oak/chromeos.fmd index df35976d00..9df6494e4c 100644 --- a/src/mainboard/google/oak/chromeos.fmd +++ b/src/mainboard/google/oak/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/parrot/chromeos.fmd b/src/mainboard/google/parrot/chromeos.fmd index 6752888f03..90e59dec05 100644 --- a/src/mainboard/google/parrot/chromeos.fmd +++ b/src/mainboard/google/parrot/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/peach_pit/chromeos.fmd b/src/mainboard/google/peach_pit/chromeos.fmd index 63bde335cb..60794a8a50 100644 --- a/src/mainboard/google/peach_pit/chromeos.fmd +++ b/src/mainboard/google/peach_pit/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/poppy/chromeos.fmd b/src/mainboard/google/poppy/chromeos.fmd index 1cc4a61ae2..92bca1b4ca 100644 --- a/src/mainboard/google/poppy/chromeos.fmd +++ b/src/mainboard/google/poppy/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/puff/chromeos-16MiB.fmd b/src/mainboard/google/puff/chromeos-16MiB.fmd index 61a0b0fbb4..457c2c9c60 100644 --- a/src/mainboard/google/puff/chromeos-16MiB.fmd +++ b/src/mainboard/google/puff/chromeos-16MiB.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x300000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x2ff000 diff --git a/src/mainboard/google/puff/chromeos-32MiB.fmd b/src/mainboard/google/puff/chromeos-32MiB.fmd index 81840b1e60..caa9636c6a 100644 --- a/src/mainboard/google/puff/chromeos-32MiB.fmd +++ b/src/mainboard/google/puff/chromeos-32MiB.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x300000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x2ff000 diff --git a/src/mainboard/google/rambi/chromeos.fmd b/src/mainboard/google/rambi/chromeos.fmd index 923c8ee18a..dae8796a27 100644 --- a/src/mainboard/google/rambi/chromeos.fmd +++ b/src/mainboard/google/rambi/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/rauru/chromeos.fmd b/src/mainboard/google/rauru/chromeos.fmd index a1595df6f4..abf673fa03 100644 --- a/src/mainboard/google/rauru/chromeos.fmd +++ b/src/mainboard/google/rauru/chromeos.fmd @@ -10,7 +10,7 @@ # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K diff --git a/src/mainboard/google/sarien/chromeos.fmd b/src/mainboard/google/sarien/chromeos.fmd index 65a915a2c0..18d3cf1e53 100644 --- a/src/mainboard/google/sarien/chromeos.fmd +++ b/src/mainboard/google/sarien/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x400000 { SI_DESC@0x0 0x1000 SI_EC@0x1000 0x100000 diff --git a/src/mainboard/google/sarien/default.fmd b/src/mainboard/google/sarien/default.fmd index 4f2bedf9c2..9d1216b009 100644 --- a/src/mainboard/google/sarien/default.fmd +++ b/src/mainboard/google/sarien/default.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_BIOS@0x400000 { MEMORY_MAPPED@0xc00000 { /* 16MiB total */ RW_MRC_CACHE 0x10000 diff --git a/src/mainboard/google/skyrim/chromeos.fmd b/src/mainboard/google/skyrim/chromeos.fmd index afc6ce13b4..12ad05f5ee 100644 --- a/src/mainboard/google/skyrim/chromeos.fmd +++ b/src/mainboard/google/skyrim/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { RW_MRC_CACHE(PRESERVE) 120K RW_SECTION_A 3M { diff --git a/src/mainboard/google/skywalker/chromeos.fmd b/src/mainboard/google/skywalker/chromeos.fmd index 5b2234d39e..6b3cecbee5 100644 --- a/src/mainboard/google/skywalker/chromeos.fmd +++ b/src/mainboard/google/skywalker/chromeos.fmd @@ -10,7 +10,7 @@ # instead of a group section; otherwise the preserved data may be wrong if you # resize or reorder sections inside a group. -FLASH@0x0 8M { +FLASH 8M { WP_RO@0x0 4M { RO_SECTION { BOOTBLOCK 128K diff --git a/src/mainboard/google/slippy/chromeos.fmd b/src/mainboard/google/slippy/chromeos.fmd index 923c8ee18a..dae8796a27 100644 --- a/src/mainboard/google/slippy/chromeos.fmd +++ b/src/mainboard/google/slippy/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/smaug/chromeos.fmd b/src/mainboard/google/smaug/chromeos.fmd index 4b1ba1951b..545949b5a9 100644 --- a/src/mainboard/google/smaug/chromeos.fmd +++ b/src/mainboard/google/smaug/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x1000000 { +FLASH 0x1000000 { WP_RO@0x0 0x500000 { RO_SECTION@0x0 0x4f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/storm/chromeos.fmd b/src/mainboard/google/storm/chromeos.fmd index 3a55bdcae4..4d3c91344a 100644 --- a/src/mainboard/google/storm/chromeos.fmd +++ b/src/mainboard/google/storm/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x800000 { +FLASH 0x800000 { WP_RO@0x0 0x400000 { RO_SECTION@0x0 0x3e0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/stout/chromeos.fmd b/src/mainboard/google/stout/chromeos.fmd index 93048a37ec..ef8ca78ff9 100644 --- a/src/mainboard/google/stout/chromeos.fmd +++ b/src/mainboard/google/stout/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/google/trogdor/chromeos.fmd b/src/mainboard/google/trogdor/chromeos.fmd index f6960761ef..aa311df65f 100644 --- a/src/mainboard/google/trogdor/chromeos.fmd +++ b/src/mainboard/google/trogdor/chromeos.fmd @@ -1,6 +1,6 @@ ## SPDX-License-Identifier: GPL-2.0-only -FLASH@0x0 8M { +FLASH 8M { WP_RO 4M { RO_SECTION 0x3e4000 { BOOTBLOCK 96K diff --git a/src/mainboard/google/veyron/chromeos.fmd b/src/mainboard/google/veyron/chromeos.fmd index df35976d00..9df6494e4c 100644 --- a/src/mainboard/google/veyron/chromeos.fmd +++ b/src/mainboard/google/veyron/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/veyron_mickey/chromeos.fmd b/src/mainboard/google/veyron_mickey/chromeos.fmd index 76ab2c321f..882d098307 100644 --- a/src/mainboard/google/veyron_mickey/chromeos.fmd +++ b/src/mainboard/google/veyron_mickey/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/veyron_rialto/chromeos.fmd b/src/mainboard/google/veyron_rialto/chromeos.fmd index df35976d00..9df6494e4c 100644 --- a/src/mainboard/google/veyron_rialto/chromeos.fmd +++ b/src/mainboard/google/veyron_rialto/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 0x400000 { +FLASH 0x400000 { WP_RO@0x0 0x200000 { RO_SECTION@0x0 0x1f0000 { BOOTBLOCK@0 128K diff --git a/src/mainboard/google/zork/chromeos.fmd b/src/mainboard/google/zork/chromeos.fmd index b405b2f4c7..c874c5657e 100644 --- a/src/mainboard/google/zork/chromeos.fmd +++ b/src/mainboard/google/zork/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xFF000000 16M { +FLASH 16M { SI_BIOS { RW_MRC_CACHE(PRESERVE) 64K RW_SECTION_A 3M { diff --git a/src/mainboard/ibm/sbp1/board.fmd b/src/mainboard/ibm/sbp1/board.fmd index 9f51f01272..904a7f4f50 100644 --- a/src/mainboard/ibm/sbp1/board.fmd +++ b/src/mainboard/ibm/sbp1/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xfc000000 64M { +FLASH 64M { SI_ALL@0x0 0x03000000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x2fff000 diff --git a/src/mainboard/intel/avenuecity_crb/board.fmd b/src/mainboard/intel/avenuecity_crb/board.fmd index df5bc059f4..d5a34a2b04 100644 --- a/src/mainboard/intel/avenuecity_crb/board.fmd +++ b/src/mainboard/intel/avenuecity_crb/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xfc000000 64M { +FLASH 64M { SI_ALL 48M { SI_DESC@0x0 0x1000 } diff --git a/src/mainboard/intel/baskingridge/chromeos.fmd b/src/mainboard/intel/baskingridge/chromeos.fmd index 9852a2209c..32e2ab1ff5 100644 --- a/src/mainboard/intel/baskingridge/chromeos.fmd +++ b/src/mainboard/intel/baskingridge/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x180000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x17f000 diff --git a/src/mainboard/intel/beechnutcity_crb/board.fmd b/src/mainboard/intel/beechnutcity_crb/board.fmd index df5bc059f4..d5a34a2b04 100644 --- a/src/mainboard/intel/beechnutcity_crb/board.fmd +++ b/src/mainboard/intel/beechnutcity_crb/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xfc000000 64M { +FLASH 64M { SI_ALL 48M { SI_DESC@0x0 0x1000 } diff --git a/src/mainboard/intel/cedarisland_crb/board.fmd b/src/mainboard/intel/cedarisland_crb/board.fmd index 2002f6e313..0b4c21a31f 100644 --- a/src/mainboard/intel/cedarisland_crb/board.fmd +++ b/src/mainboard/intel/cedarisland_crb/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xfc000000 64M { +FLASH 64M { SI_ALL@0x0 0x2fe8000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/intel/coffeelake_rvp/chromeos.fmd b/src/mainboard/intel/coffeelake_rvp/chromeos.fmd index 39bd6c5237..da4e70e3ff 100644 --- a/src/mainboard/intel/coffeelake_rvp/chromeos.fmd +++ b/src/mainboard/intel/coffeelake_rvp/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x380000 { SI_DESC@0x0 0x1000 SI_EC@0x01000 0x80000 diff --git a/src/mainboard/intel/coffeelake_rvp/chromeos_32MB.fmd b/src/mainboard/intel/coffeelake_rvp/chromeos_32MB.fmd index 62e0f5d6d1..d6977c1164 100644 --- a/src/mainboard/intel/coffeelake_rvp/chromeos_32MB.fmd +++ b/src/mainboard/intel/coffeelake_rvp/chromeos_32MB.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x1081000 { SI_DESC@0x0 0x1000 SI_EC@0x1000 0x80000 diff --git a/src/mainboard/intel/frost_creek/board.fmd b/src/mainboard/intel/frost_creek/board.fmd index 5c22e12d52..a229b4a65b 100644 --- a/src/mainboard/intel/frost_creek/board.fmd +++ b/src/mainboard/intel/frost_creek/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x02000000 { +FLASH 0x02000000 { BIOS@0x01400000 0x00C00000 { RW_MRC_CACHE 0x10000 SMMSTORE 0x40000 diff --git a/src/mainboard/intel/jasperlake_rvp/chromeos.fmd b/src/mainboard/intel/jasperlake_rvp/chromeos.fmd index 4fe11debf2..ac5967ce7a 100644 --- a/src/mainboard/intel/jasperlake_rvp/chromeos.fmd +++ b/src/mainboard/intel/jasperlake_rvp/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x381000 { SI_DESC@0x0 0x1000 SI_EC@0x1000 0x80000 diff --git a/src/mainboard/intel/kblrvp/chromeos.fmd b/src/mainboard/intel/kblrvp/chromeos.fmd index 9ba1bf7275..813271259a 100644 --- a/src/mainboard/intel/kblrvp/chromeos.fmd +++ b/src/mainboard/intel/kblrvp/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/intel/kunimitsu/chromeos.fmd b/src/mainboard/intel/kunimitsu/chromeos.fmd index 9ba1bf7275..813271259a 100644 --- a/src/mainboard/intel/kunimitsu/chromeos.fmd +++ b/src/mainboard/intel/kunimitsu/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/intel/shadowmountain/chromeos.fmd b/src/mainboard/intel/shadowmountain/chromeos.fmd index a4b8643874..6560d22276 100644 --- a/src/mainboard/intel/shadowmountain/chromeos.fmd +++ b/src/mainboard/intel/shadowmountain/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x1000000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0xfff000 diff --git a/src/mainboard/intel/strago/chromeos.fmd b/src/mainboard/intel/strago/chromeos.fmd index bc9bac3344..a41a8c1a41 100644 --- a/src/mainboard/intel/strago/chromeos.fmd +++ b/src/mainboard/intel/strago/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x200000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x1ff000 diff --git a/src/mainboard/intel/tglrvp/chromeos.fmd b/src/mainboard/intel/tglrvp/chromeos.fmd index 1e2e7920cf..78a825eccf 100644 --- a/src/mainboard/intel/tglrvp/chromeos.fmd +++ b/src/mainboard/intel/tglrvp/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xfe000000 0x2000000 { +FLASH 0x2000000 { SI_ALL@0x0 0x1000000 { SI_DESC@0x0 0x1000 SI_EC@0x1000 0x80000 diff --git a/src/mainboard/intel/wtm2/chromeos.fmd b/src/mainboard/intel/wtm2/chromeos.fmd index 9852a2209c..32e2ab1ff5 100644 --- a/src/mainboard/intel/wtm2/chromeos.fmd +++ b/src/mainboard/intel/wtm2/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x180000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x17f000 diff --git a/src/mainboard/lenovo/haswell/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/haswell/vboot-ro-me_clean.fmd index 565cacd3a8..5101caa59c 100644 --- a/src/mainboard/lenovo/haswell/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/haswell/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/haswell/vboot-ro.fmd b/src/mainboard/lenovo/haswell/vboot-ro.fmd index 6bdd4cc458..027849bfe9 100644 --- a/src/mainboard/lenovo/haswell/vboot-ro.fmd +++ b/src/mainboard/lenovo/haswell/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/haswell/vboot-rwab.fmd b/src/mainboard/lenovo/haswell/vboot-rwab.fmd index e38cd60c28..220d324c0c 100644 --- a/src/mainboard/lenovo/haswell/vboot-rwab.fmd +++ b/src/mainboard/lenovo/haswell/vboot-rwab.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/t400/vboot-rwa.fmd b/src/mainboard/lenovo/t400/vboot-rwa.fmd index 4acae85e4c..c97c812032 100644 --- a/src/mainboard/lenovo/t400/vboot-rwa.fmd +++ b/src/mainboard/lenovo/t400/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x600000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x5f5000 diff --git a/src/mainboard/lenovo/t410/vboot-rwa.fmd b/src/mainboard/lenovo/t410/vboot-rwa.fmd index b7d75c0910..bdb5c5822f 100644 --- a/src/mainboard/lenovo/t410/vboot-rwa.fmd +++ b/src/mainboard/lenovo/t410/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/t420/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/t420/vboot-ro-me_clean.fmd index d1cbff7a1b..5f490f8b2c 100644 --- a/src/mainboard/lenovo/t420/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/t420/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t420/vboot-ro.fmd b/src/mainboard/lenovo/t420/vboot-ro.fmd index 51df8a5322..bbcbba57f6 100644 --- a/src/mainboard/lenovo/t420/vboot-ro.fmd +++ b/src/mainboard/lenovo/t420/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t420/vboot-rwa.fmd b/src/mainboard/lenovo/t420/vboot-rwa.fmd index 4bd4b86528..e951c83816 100644 --- a/src/mainboard/lenovo/t420/vboot-rwa.fmd +++ b/src/mainboard/lenovo/t420/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/t420s/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/t420s/vboot-ro-me_clean.fmd index d1cbff7a1b..5f490f8b2c 100644 --- a/src/mainboard/lenovo/t420s/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/t420s/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t420s/vboot-ro.fmd b/src/mainboard/lenovo/t420s/vboot-ro.fmd index 51df8a5322..bbcbba57f6 100644 --- a/src/mainboard/lenovo/t420s/vboot-ro.fmd +++ b/src/mainboard/lenovo/t420s/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t420s/vboot-rwa.fmd b/src/mainboard/lenovo/t420s/vboot-rwa.fmd index 4bd4b86528..e951c83816 100644 --- a/src/mainboard/lenovo/t420s/vboot-rwa.fmd +++ b/src/mainboard/lenovo/t420s/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/t430/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/t430/vboot-ro-me_clean.fmd index 565cacd3a8..5101caa59c 100644 --- a/src/mainboard/lenovo/t430/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/t430/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t430/vboot-ro.fmd b/src/mainboard/lenovo/t430/vboot-ro.fmd index 6bdd4cc458..027849bfe9 100644 --- a/src/mainboard/lenovo/t430/vboot-ro.fmd +++ b/src/mainboard/lenovo/t430/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t430/vboot-rwab.fmd b/src/mainboard/lenovo/t430/vboot-rwab.fmd index 13df4f6c67..8819959dfe 100644 --- a/src/mainboard/lenovo/t430/vboot-rwab.fmd +++ b/src/mainboard/lenovo/t430/vboot-rwab.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/t430s/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/t430s/vboot-ro-me_clean.fmd index 565cacd3a8..5101caa59c 100644 --- a/src/mainboard/lenovo/t430s/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/t430s/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t430s/vboot-ro.fmd b/src/mainboard/lenovo/t430s/vboot-ro.fmd index 6bdd4cc458..027849bfe9 100644 --- a/src/mainboard/lenovo/t430s/vboot-ro.fmd +++ b/src/mainboard/lenovo/t430s/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t430s/vboot-rwab.fmd b/src/mainboard/lenovo/t430s/vboot-rwab.fmd index 13df4f6c67..8819959dfe 100644 --- a/src/mainboard/lenovo/t430s/vboot-rwab.fmd +++ b/src/mainboard/lenovo/t430s/vboot-rwab.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/t520/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/t520/vboot-ro-me_clean.fmd index d1cbff7a1b..5f490f8b2c 100644 --- a/src/mainboard/lenovo/t520/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/t520/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t520/vboot-ro.fmd b/src/mainboard/lenovo/t520/vboot-ro.fmd index 51df8a5322..bbcbba57f6 100644 --- a/src/mainboard/lenovo/t520/vboot-ro.fmd +++ b/src/mainboard/lenovo/t520/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t520/vboot-rwa.fmd b/src/mainboard/lenovo/t520/vboot-rwa.fmd index 4bd4b86528..e951c83816 100644 --- a/src/mainboard/lenovo/t520/vboot-rwa.fmd +++ b/src/mainboard/lenovo/t520/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/t530/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/t530/vboot-ro-me_clean.fmd index 565cacd3a8..5101caa59c 100644 --- a/src/mainboard/lenovo/t530/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/t530/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t530/vboot-ro.fmd b/src/mainboard/lenovo/t530/vboot-ro.fmd index 6bdd4cc458..027849bfe9 100644 --- a/src/mainboard/lenovo/t530/vboot-ro.fmd +++ b/src/mainboard/lenovo/t530/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/t530/vboot-rwab.fmd b/src/mainboard/lenovo/t530/vboot-rwab.fmd index 13df4f6c67..8819959dfe 100644 --- a/src/mainboard/lenovo/t530/vboot-rwab.fmd +++ b/src/mainboard/lenovo/t530/vboot-rwab.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/x131e/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/x131e/vboot-ro-me_clean.fmd index 565cacd3a8..5101caa59c 100644 --- a/src/mainboard/lenovo/x131e/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/x131e/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x131e/vboot-ro.fmd b/src/mainboard/lenovo/x131e/vboot-ro.fmd index 6bdd4cc458..027849bfe9 100644 --- a/src/mainboard/lenovo/x131e/vboot-ro.fmd +++ b/src/mainboard/lenovo/x131e/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x131e/vboot-rwab.fmd b/src/mainboard/lenovo/x131e/vboot-rwab.fmd index 13df4f6c67..8819959dfe 100644 --- a/src/mainboard/lenovo/x131e/vboot-rwab.fmd +++ b/src/mainboard/lenovo/x131e/vboot-rwab.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro-me_clean.fmd index 565cacd3a8..5101caa59c 100644 --- a/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro.fmd b/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro.fmd index 6bdd4cc458..027849bfe9 100644 --- a/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro.fmd +++ b/src/mainboard/lenovo/x1_carbon_gen1/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd b/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd index 13df4f6c67..8819959dfe 100644 --- a/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd +++ b/src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/x200/vboot-rwa.fmd b/src/mainboard/lenovo/x200/vboot-rwa.fmd index 4acae85e4c..c97c812032 100644 --- a/src/mainboard/lenovo/x200/vboot-rwa.fmd +++ b/src/mainboard/lenovo/x200/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x600000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x5f5000 diff --git a/src/mainboard/lenovo/x201/vboot-rwa.fmd b/src/mainboard/lenovo/x201/vboot-rwa.fmd index f3c0042418..d7982a0156 100644 --- a/src/mainboard/lenovo/x201/vboot-rwa.fmd +++ b/src/mainboard/lenovo/x201/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/x220/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/x220/vboot-ro-me_clean.fmd index d1cbff7a1b..5f490f8b2c 100644 --- a/src/mainboard/lenovo/x220/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/x220/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x220/vboot-ro.fmd b/src/mainboard/lenovo/x220/vboot-ro.fmd index 51df8a5322..bbcbba57f6 100644 --- a/src/mainboard/lenovo/x220/vboot-ro.fmd +++ b/src/mainboard/lenovo/x220/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x220/vboot-rwa.fmd b/src/mainboard/lenovo/x220/vboot-rwa.fmd index 4bd4b86528..e951c83816 100644 --- a/src/mainboard/lenovo/x220/vboot-rwa.fmd +++ b/src/mainboard/lenovo/x220/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/x230/vboot-ro-me_clean.fmd b/src/mainboard/lenovo/x230/vboot-ro-me_clean.fmd index 565cacd3a8..5101caa59c 100644 --- a/src/mainboard/lenovo/x230/vboot-ro-me_clean.fmd +++ b/src/mainboard/lenovo/x230/vboot-ro-me_clean.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x20000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x230/vboot-ro.fmd b/src/mainboard/lenovo/x230/vboot-ro.fmd index 6bdd4cc458..027849bfe9 100644 --- a/src/mainboard/lenovo/x230/vboot-ro.fmd +++ b/src/mainboard/lenovo/x230/vboot-ro.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL 0x500000 { SI_DESC 0x1000 SI_GBE 0x2000 diff --git a/src/mainboard/lenovo/x230/vboot-rwab.fmd b/src/mainboard/lenovo/x230/vboot-rwab.fmd index 13df4f6c67..8819959dfe 100644 --- a/src/mainboard/lenovo/x230/vboot-rwab.fmd +++ b/src/mainboard/lenovo/x230/vboot-rwab.fmd @@ -1,4 +1,4 @@ -FLASH@0xff400000 0xc00000 { +FLASH 0xc00000 { SI_ALL@0x0 0x500000 { SI_DESC@0x0 0x1000 SI_GBE@0x1000 0x2000 diff --git a/src/mainboard/lenovo/x60/vboot-rwa.fmd b/src/mainboard/lenovo/x60/vboot-rwa.fmd index eabae66908..47424d500f 100644 --- a/src/mainboard/lenovo/x60/vboot-rwa.fmd +++ b/src/mainboard/lenovo/x60/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xffe00000 0x200000 { +FLASH 0x200000 { BIOS { RW_SECTION_A 0x100000 { VBLOCK_A 0x10000 diff --git a/src/mainboard/opencellular/elgon/board.fmd b/src/mainboard/opencellular/elgon/board.fmd index 222490c0e3..1f411aae2f 100644 --- a/src/mainboard/opencellular/elgon/board.fmd +++ b/src/mainboard/opencellular/elgon/board.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 16M { +FLASH 16M { WP_RO@0x0 0x1000000 { RO_SECTION@0x0 0xffc000 { # 0 - 0x10000 is free for firmware usage. diff --git a/src/mainboard/opencellular/elgon/vboot.fmd b/src/mainboard/opencellular/elgon/vboot.fmd index 77ef10d046..f270b90c0b 100644 --- a/src/mainboard/opencellular/elgon/vboot.fmd +++ b/src/mainboard/opencellular/elgon/vboot.fmd @@ -1,4 +1,4 @@ -FLASH@0x0 16M { +FLASH 16M { # must use a power of two in MiB for WP_RO WP_RO@0x0 0x400000 { RO_SECTION@0x0 0x3fc000 { diff --git a/src/mainboard/protectli/vault_adl_p/vboot-rwa.fmd b/src/mainboard/protectli/vault_adl_p/vboot-rwa.fmd index 65b52d97f5..00b34b1c25 100644 --- a/src/mainboard/protectli/vault_adl_p/vboot-rwa.fmd +++ b/src/mainboard/protectli/vault_adl_p/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 16M { +FLASH 16M { SI_ALL@0x0 { SI_DESC 4K SI_ME 0x4c0000 diff --git a/src/mainboard/protectli/vault_cml/board.fmd b/src/mainboard/protectli/vault_cml/board.fmd index 37ec01e6ef..e7f40917ac 100644 --- a/src/mainboard/protectli/vault_cml/board.fmd +++ b/src/mainboard/protectli/vault_cml/board.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL 6M { SI_DESC 4K SI_ME diff --git a/src/mainboard/protectli/vault_cml/vboot-rwa.fmd b/src/mainboard/protectli/vault_cml/vboot-rwa.fmd index b5c233f383..39a497e424 100644 --- a/src/mainboard/protectli/vault_cml/vboot-rwa.fmd +++ b/src/mainboard/protectli/vault_cml/vboot-rwa.fmd @@ -1,4 +1,4 @@ -FLASH@0xff000000 0x1000000 { +FLASH 0x1000000 { SI_ALL 6M { SI_DESC 4K SI_ME diff --git a/src/mainboard/samsung/lumpy/chromeos.fmd b/src/mainboard/samsung/lumpy/chromeos.fmd index 051cfd1a2e..32dfae948c 100644 --- a/src/mainboard/samsung/lumpy/chromeos.fmd +++ b/src/mainboard/samsung/lumpy/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x180000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x17f000 diff --git a/src/mainboard/samsung/stumpy/chromeos.fmd b/src/mainboard/samsung/stumpy/chromeos.fmd index 051cfd1a2e..32dfae948c 100644 --- a/src/mainboard/samsung/stumpy/chromeos.fmd +++ b/src/mainboard/samsung/stumpy/chromeos.fmd @@ -1,4 +1,4 @@ -FLASH@0xff800000 0x800000 { +FLASH 0x800000 { SI_ALL@0x0 0x180000 { SI_DESC@0x0 0x1000 SI_ME@0x1000 0x17f000 diff --git a/src/mainboard/siemens/fa_ehl/fa_ehl.fmd b/src/mainboard/siemens/fa_ehl/fa_ehl.fmd index 78faf2b107..8196ece26d 100644 --- a/src/mainboard/siemens/fa_ehl/fa_ehl.fmd +++ b/src/mainboard/siemens/fa_ehl/fa_ehl.fmd @@ -1,4 +1,4 @@ -FLASH @0xff000000 CONFIG_ROM_SIZE { +FLASH CONFIG_ROM_SIZE { SI_ALL 0x400000 { SI_DESC 0x1000 SI_ME 0x3ff000 diff --git a/src/mainboard/siemens/mc_ehl/mc_ehl.fmd b/src/mainboard/siemens/mc_ehl/mc_ehl.fmd index 78faf2b107..8196ece26d 100644 --- a/src/mainboard/siemens/mc_ehl/mc_ehl.fmd +++ b/src/mainboard/siemens/mc_ehl/mc_ehl.fmd @@ -1,4 +1,4 @@ -FLASH @0xff000000 CONFIG_ROM_SIZE { +FLASH CONFIG_ROM_SIZE { SI_ALL 0x400000 { SI_DESC 0x1000 SI_ME 0x3ff000 diff --git a/src/mainboard/ti/beaglebone/board.fmd b/src/mainboard/ti/beaglebone/board.fmd index 26a210f62d..42a9214f61 100644 --- a/src/mainboard/ti/beaglebone/board.fmd +++ b/src/mainboard/ti/beaglebone/board.fmd @@ -1,4 +1,4 @@ -FLASH@0x000 32M { +FLASH 32M { BIOS@0x0 109K { BOOTBLOCK@0x0 22K } diff --git a/src/soc/amd/glinda/Makefile.mk b/src/soc/amd/glinda/Makefile.mk index 7f48581fec..d451199219 100644 --- a/src/soc/amd/glinda/Makefile.mk +++ b/src/soc/amd/glinda/Makefile.mk @@ -57,6 +57,7 @@ GLINDA_FW_A_POSITION=$(call int-add, \ GLINDA_FW_B_POSITION=$(call int-add, \ $(call get_fmap_value,FMAP_SECTION_FW_MAIN_B_START) $(AMD_FW_AB_POSITION)) + # # PSP Directory Table items # @@ -144,12 +145,8 @@ PSP_VERSTAGE_SIG_FILE=$(call strip_quotes,$(CONFIG_PSP_VERSTAGE_SIGNING_TOKEN)) endif # CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK ifeq ($(CONFIG_SEPARATE_SIGNED_PSPFW),y) -SIGNED_AMDFW_A_POSITION=$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_A_START) \ - $(call get_fmap_value,FMAP_SECTION_FLASH_START)) -SIGNED_AMDFW_B_POSITION=$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_B_START) \ - $(call get_fmap_value,FMAP_SECTION_FLASH_START)) +SIGNED_AMDFW_A_POSITION=$(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_A_START) +SIGNED_AMDFW_B_POSITION=$(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_B_START) SIGNED_AMDFW_A_FILE=$(obj)/amdfw_a.rom.signed SIGNED_AMDFW_B_FILE=$(obj)/amdfw_b.rom.signed endif # CONFIG_SEPARATE_SIGNED_PSPFW diff --git a/src/soc/amd/mendocino/Makefile.mk b/src/soc/amd/mendocino/Makefile.mk index 4236894af9..69578d11f9 100644 --- a/src/soc/amd/mendocino/Makefile.mk +++ b/src/soc/amd/mendocino/Makefile.mk @@ -52,10 +52,10 @@ AMD_FW_AB_POSITION := 0x40 endif # ($(CONFIG_CBFS_VERIFICATION), y) MENDOCINO_FW_A_POSITION=$(call int-add, \ - $(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) + $(call get_fmap_value,FMAP_SECTION_FW_MAIN_A_START) $(AMD_FW_AB_POSITION)) \ MENDOCINO_FW_B_POSITION=$(call int-add, \ - $(call get_fmap_value,FMAP_SECTION_FW_MAIN_B_START) $(AMD_FW_AB_POSITION)) + $(call get_fmap_value,FMAP_SECTION_FW_MAIN_B_START) $(AMD_FW_AB_POSITION)) \ MENDOCINO_FW_BODY_OFFSET := 0x100 @@ -157,12 +157,8 @@ PSP_VERSTAGE_SIG_FILE=$(call strip_quotes,$(CONFIG_PSP_VERSTAGE_SIGNING_TOKEN)) endif # CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK ifeq ($(CONFIG_SEPARATE_SIGNED_PSPFW),y) -SIGNED_AMDFW_A_POSITION=$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_A_START) \ - $(call get_fmap_value,FMAP_SECTION_FLASH_START)) -SIGNED_AMDFW_B_POSITION=$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_B_START) \ - $(call get_fmap_value,FMAP_SECTION_FLASH_START)) +SIGNED_AMDFW_A_POSITION=$(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_A_START) +SIGNED_AMDFW_B_POSITION=$(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_B_START) SIGNED_AMDFW_A_FILE=$(obj)/amdfw_a.rom.body.signed SIGNED_AMDFW_B_FILE=$(obj)/amdfw_b.rom.body.signed endif # CONFIG_SEPARATE_SIGNED_PSPFW diff --git a/src/soc/amd/phoenix/Makefile.mk b/src/soc/amd/phoenix/Makefile.mk index 7713fad5d5..2766e0eb53 100644 --- a/src/soc/amd/phoenix/Makefile.mk +++ b/src/soc/amd/phoenix/Makefile.mk @@ -65,8 +65,6 @@ PHOENIX_FW_A_POSITION=$(call int-add, \ PHOENIX_FW_B_POSITION=$(call int-add, \ $(call get_fmap_value,FMAP_SECTION_FW_MAIN_B_START) $(AMD_FW_AB_POSITION)) -FMAP_FLASH_START=$(call get_fmap_value,FMAP_SECTION_FLASH_START) - # # PSP Directory Table items # @@ -138,15 +136,13 @@ ifneq ($(CONFIG_SOC_AMD_COMMON_BLOCK_APOB_NV_DISABLE),y) # type = 0x63 - construct APOB NV base/size from flash map # The flashmap section used for this is expected to be named RW_MRC_CACHE APOB_NV_SIZE=$(call get_fmap_value,FMAP_SECTION_RW_MRC_CACHE_SIZE) -APOB_NV_BASE=$(call _tohex,$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_RW_MRC_CACHE_START) $(FMAP_FLASH_START))) +APOB_NV_BASE=$(call get_fmap_value,FMAP_SECTION_RW_MRC_CACHE_START) ifeq ($(CONFIG_HAS_RECOVERY_MRC_CACHE)$(CONFIG_VBOOT),yy) # On boards with recovery MRC cache, point type 0x63 entry to RECOVERY_MRC_CACHE. # Else use RW_MRC_CACHE. This entry will be added in the RO section. APOB_NV_RO_SIZE=$(call get_fmap_value,FMAP_SECTION_RECOVERY_MRC_CACHE_SIZE) -APOB_NV_RO_BASE=$(call _tohex,$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_RECOVERY_MRC_CACHE_START) $(FMAP_FLASH_START))) +APOB_NV_RO_BASE=$(call get_fmap_value,FMAP_SECTION_RECOVERY_MRC_CACHE_START) else APOB_NV_RO_SIZE=$(APOB_NV_SIZE) APOB_NV_RO_BASE=$(APOB_NV_BASE) @@ -170,10 +166,8 @@ PSP_VERSTAGE_SIG_FILE=$(call strip_quotes,$(CONFIG_PSP_VERSTAGE_SIGNING_TOKEN)) endif # CONFIG_VBOOT_STARTS_BEFORE_BOOTBLOCK ifeq ($(CONFIG_SEPARATE_SIGNED_PSPFW),y) -SIGNED_AMDFW_A_POSITION=$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_A_START) $(FMAP_FLASH_START)) -SIGNED_AMDFW_B_POSITION=$(call int-subtract, \ - $(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_B_START) $(FMAP_FLASH_START)) +SIGNED_AMDFW_A_POSITION=$(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_A_START) +SIGNED_AMDFW_B_POSITION=$(call get_fmap_value,FMAP_SECTION_SIGNED_AMDFW_B_START) SIGNED_AMDFW_A_FILE=$(obj)/amdfw_a.rom.signed SIGNED_AMDFW_B_FILE=$(obj)/amdfw_b.rom.signed endif # CONFIG_SEPARATE_SIGNED_PSPFW diff --git a/util/amdfwtool/amdfwread.c b/util/amdfwtool/amdfwread.c index 711b1582fd..ca61571602 100644 --- a/util/amdfwtool/amdfwread.c +++ b/util/amdfwtool/amdfwread.c @@ -8,10 +8,6 @@ #include #include "amdfwtool.h" -/* An address can be relative to the image/file start but it can also be the address when - * the image is mapped at 0xff000000. Used to ensure that we only attempt to read within - * the limits of the file. */ -#define SPI_ROM_BASE 0xff000000 #define FILE_REL_MASK 0xffffff #define ERR(...) fprintf(stderr, __VA_ARGS__) diff --git a/util/amdfwtool/amdfwtool.h b/util/amdfwtool/amdfwtool.h index 24a7dd3bf0..70b2600f5c 100644 --- a/util/amdfwtool/amdfwtool.h +++ b/util/amdfwtool/amdfwtool.h @@ -9,6 +9,11 @@ #include #include +/* An address can be relative to the image/file start but it can also be the address when + * the image is mapped at 0xff000000. Used to ensure that we only attempt to read within + * the limits of the file. */ +#define SPI_ROM_BASE 0xff000000 + #define ERASE_ALIGNMENT 0x1000U #define TABLE_ALIGNMENT 0x1000U #define TABLE_L2_SIZE_MAX 0x400U diff --git a/util/amdfwtool/data_parse.c b/util/amdfwtool/data_parse.c index 154d34dc6a..4a368f8b3c 100644 --- a/util/amdfwtool/data_parse.c +++ b/util/amdfwtool/data_parse.c @@ -734,6 +734,30 @@ bool needs_ish(enum platform platform_type) return false; } +/* + * For some SOC generations the APOB_NV binary seems to be treated special regarding the + * interpretaion of the source address. No matter the address_mode specified for the address + * the memory ABL always seems to the interpret the source address as MMIO address even if + * AMD_ADDR_REL_BIOS is specified. So for them we need to always use an MMIO address. + * This seems to be a bug which affects all SOCs before phoenix generation. + */ +static bool has_apob_nv_quirk(enum platform platform_type) +{ + switch (platform_type) { + case PLATFORM_CARRIZO: + case PLATFORM_STONEYRIDGE: + case PLATFORM_RAVEN: + case PLATFORM_PICASSO: + case PLATFORM_RENOIR: + case PLATFORM_CEZANNE: + case PLATFORM_MENDOCINO: + case PLATFORM_LUCIENNE: + return true; + default: + return false; + } +} + static bool is_second_gen(enum platform platform_type) { switch (platform_type) { @@ -804,6 +828,16 @@ uint8_t process_config(FILE *config, amd_cb_config *cb_config) cb_config->second_gen = is_second_gen(cb_config->soc_id); + if (has_apob_nv_quirk(cb_config->soc_id)) { + for (int i = 0; amd_bios_table[i].type != AMD_BIOS_INVALID; i++) { + amd_bios_entry *entry = &amd_bios_table[i]; + //TODO once ROM3 mapping (>16MiB) is possible, this needs to be updated. + if (entry->type == AMD_BIOS_APOB_NV && entry->size > 0) { + entry->src += SPI_ROM_BASE; // convert to MMIO address + } + } + } + if (needs_ish(cb_config->soc_id)) cb_config->need_ish = true; diff --git a/util/amdfwtool/opts.c b/util/amdfwtool/opts.c index 62bbc97ae5..5d1ee6754d 100644 --- a/util/amdfwtool/opts.c +++ b/util/amdfwtool/opts.c @@ -524,7 +524,7 @@ int amdfwtool_getopt(int argc, char *argv[], amd_cb_config *cb_config, context * sub = instance = 0; break; case AMDFW_OPT_SIGNED_ADDR: - cb_config->signed_start_addr = strtoull(optarg, NULL, 10); + cb_config->signed_start_addr = strtoull(optarg, NULL, 16); sub = instance = 0; break; case LONGOPT_SPI_READ_MODE: diff --git a/util/cbfstool/default-x86.fmd b/util/cbfstool/default-x86.fmd index f008889fef..795e025f9f 100644 --- a/util/cbfstool/default-x86.fmd +++ b/util/cbfstool/default-x86.fmd @@ -7,7 +7,7 @@ # | CBFS | # +-------------+ <-- 4GB / end of flash -FLASH@##ROM_BASE## ##ROM_SIZE## { +FLASH ##ROM_SIZE## { BIOS@##BIOS_BASE## ##BIOS_SIZE## { ##CONSOLE_ENTRY## ##MRC_CACHE_ENTRY## diff --git a/util/cbfstool/default.fmd b/util/cbfstool/default.fmd index 8f4819ebf9..d20789f404 100644 --- a/util/cbfstool/default.fmd +++ b/util/cbfstool/default.fmd @@ -9,7 +9,7 @@ # | CBFS | # +-------------+ <-- ROM_SIZE -FLASH@##ROM_BASE## ##ROM_SIZE## { +FLASH ##ROM_SIZE## { BIOS@##BIOS_BASE## ##BIOS_SIZE## { BOOTBLOCK 128K FMAP@##FMAP_BASE## ##FMAP_SIZE##