Matt DeVillier has submitted this change. ( https://review.coreboot.org/c/coreboot/+/63771?usp=email )
Change subject: mb/*/*/*.fmd: Start flash at 0 ......................................................................
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 arthur@aheymans.xyz Signed-off-by: Maximilian Brune maximilian.brune@9elements.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/63771 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Shuo Liu shuo.liu@intel.com Reviewed-by: David Hendricks david.hendricks@gmail.com Reviewed-by: Matt DeVillier matt.devillier@gmail.com --- M Makefile.mk M src/arch/x86/walkcbfs.S M src/mainboard/amd/bilby/board.fmd M src/mainboard/amd/birman/board_glinda.fmd M src/mainboard/amd/birman/board_phoenix.fmd M src/mainboard/amd/birman/chromeos_glinda.fmd M src/mainboard/amd/birman/chromeos_phoenix.fmd M src/mainboard/amd/birman_plus/board_phoenix.fmd M src/mainboard/amd/birman_plus/chromeos_glinda.fmd M src/mainboard/amd/birman_plus/chromeos_phoenix.fmd M src/mainboard/amd/chausie/board.fmd M src/mainboard/amd/chausie/chromeos.fmd M src/mainboard/amd/crater/board_renoir.fmd M src/mainboard/amd/crater/chromeos_renoir.fmd M src/mainboard/amd/majolica/board.fmd M src/mainboard/amd/majolica/chromeos.fmd M src/mainboard/amd/mandolin/variants/cereme/board.fmd M src/mainboard/amd/mandolin/variants/mandolin/board.fmd M src/mainboard/amd/mayan/board.fmd M src/mainboard/amd/mayan/chromeos.fmd M src/mainboard/arm/rdn2/flash.fmd M src/mainboard/bytedance/bd_egs/board.fmd M src/mainboard/cavium/cn8100_sff_evb/board.fmd M src/mainboard/emulation/qemu-i440fx/vboot-rwa-8M.fmd M src/mainboard/emulation/qemu-q35/vboot-rwa-8M.fmd M src/mainboard/emulation/qemu-q35/vboot-rwab-8M.fmd M src/mainboard/emulation/qemu-sbsa/flash.fmd M src/mainboard/facebook/fbg1701/vboot-rw.fmd M src/mainboard/framework/azalea/coreboot.fmd M src/mainboard/google/asurada/chromeos.fmd M src/mainboard/google/auron/chromeos.fmd M src/mainboard/google/beltino/chromeos.fmd M src/mainboard/google/butterfly/chromeos.fmd M src/mainboard/google/cherry/chromeos.fmd M src/mainboard/google/corsola/chromeos.fmd M src/mainboard/google/cyan/chromeos.fmd M src/mainboard/google/daisy/chromeos.fmd M src/mainboard/google/dedede/chromeos-dedede-16MiB.fmd M src/mainboard/google/dedede/chromeos-dedede-32MiB.fmd M src/mainboard/google/drallion/chromeos.fmd M src/mainboard/google/drallion/default.fmd M src/mainboard/google/eve/chromeos.fmd M src/mainboard/google/fizz/chromeos.fmd M src/mainboard/google/foster/chromeos.fmd M src/mainboard/google/gale/chromeos.fmd M src/mainboard/google/geralt/chromeos.fmd M src/mainboard/google/glados/chromeos.fmd M src/mainboard/google/gru/chromeos.fmd M src/mainboard/google/guybrush/chromeos.fmd M src/mainboard/google/hatch/chromeos-16MiB.fmd M src/mainboard/google/hatch/chromeos-32MiB.fmd M src/mainboard/google/herobrine/chromeos.fmd M src/mainboard/google/jecht/chromeos.fmd M src/mainboard/google/kahlee/variants/baseboard/chromeos.fmd M src/mainboard/google/kukui/chromeos.fmd M src/mainboard/google/link/chromeos.fmd M src/mainboard/google/mistral/chromeos.fmd M src/mainboard/google/myst/chromeos.fmd M src/mainboard/google/nyan/chromeos.fmd M src/mainboard/google/nyan_big/chromeos.fmd M src/mainboard/google/nyan_blaze/chromeos.fmd M src/mainboard/google/oak/chromeos.fmd M src/mainboard/google/parrot/chromeos.fmd M src/mainboard/google/peach_pit/chromeos.fmd M src/mainboard/google/poppy/chromeos.fmd M src/mainboard/google/puff/chromeos-16MiB.fmd M src/mainboard/google/puff/chromeos-32MiB.fmd M src/mainboard/google/rambi/chromeos.fmd M src/mainboard/google/rauru/chromeos.fmd M src/mainboard/google/sarien/chromeos.fmd M src/mainboard/google/sarien/default.fmd M src/mainboard/google/skyrim/chromeos.fmd M src/mainboard/google/skywalker/chromeos.fmd M src/mainboard/google/slippy/chromeos.fmd M src/mainboard/google/smaug/chromeos.fmd M src/mainboard/google/storm/chromeos.fmd M src/mainboard/google/stout/chromeos.fmd M src/mainboard/google/trogdor/chromeos.fmd M src/mainboard/google/veyron/chromeos.fmd M src/mainboard/google/veyron_mickey/chromeos.fmd M src/mainboard/google/veyron_rialto/chromeos.fmd M src/mainboard/google/zork/chromeos.fmd M src/mainboard/ibm/sbp1/board.fmd M src/mainboard/intel/avenuecity_crb/board.fmd M src/mainboard/intel/baskingridge/chromeos.fmd M src/mainboard/intel/beechnutcity_crb/board.fmd M src/mainboard/intel/cedarisland_crb/board.fmd M src/mainboard/intel/coffeelake_rvp/chromeos.fmd M src/mainboard/intel/coffeelake_rvp/chromeos_32MB.fmd M src/mainboard/intel/frost_creek/board.fmd M src/mainboard/intel/jasperlake_rvp/chromeos.fmd M src/mainboard/intel/kblrvp/chromeos.fmd M src/mainboard/intel/kunimitsu/chromeos.fmd M src/mainboard/intel/shadowmountain/chromeos.fmd M src/mainboard/intel/strago/chromeos.fmd M src/mainboard/intel/tglrvp/chromeos.fmd M src/mainboard/intel/wtm2/chromeos.fmd M src/mainboard/lenovo/haswell/vboot-ro-me_clean.fmd M src/mainboard/lenovo/haswell/vboot-ro.fmd M src/mainboard/lenovo/haswell/vboot-rwab.fmd M src/mainboard/lenovo/t400/vboot-rwa.fmd M src/mainboard/lenovo/t410/vboot-rwa.fmd M src/mainboard/lenovo/t420/vboot-ro-me_clean.fmd M src/mainboard/lenovo/t420/vboot-ro.fmd M src/mainboard/lenovo/t420/vboot-rwa.fmd M src/mainboard/lenovo/t420s/vboot-ro-me_clean.fmd M src/mainboard/lenovo/t420s/vboot-ro.fmd M src/mainboard/lenovo/t420s/vboot-rwa.fmd M src/mainboard/lenovo/t430/vboot-ro-me_clean.fmd M src/mainboard/lenovo/t430/vboot-ro.fmd M src/mainboard/lenovo/t430/vboot-rwab.fmd M src/mainboard/lenovo/t430s/vboot-ro-me_clean.fmd M src/mainboard/lenovo/t430s/vboot-ro.fmd M src/mainboard/lenovo/t430s/vboot-rwab.fmd M src/mainboard/lenovo/t520/vboot-ro-me_clean.fmd M src/mainboard/lenovo/t520/vboot-ro.fmd M src/mainboard/lenovo/t520/vboot-rwa.fmd M src/mainboard/lenovo/t530/vboot-ro-me_clean.fmd M src/mainboard/lenovo/t530/vboot-ro.fmd M src/mainboard/lenovo/t530/vboot-rwab.fmd M src/mainboard/lenovo/x131e/vboot-ro-me_clean.fmd M src/mainboard/lenovo/x131e/vboot-ro.fmd M src/mainboard/lenovo/x131e/vboot-rwab.fmd M src/mainboard/lenovo/x1_carbon_gen1/vboot-ro-me_clean.fmd M src/mainboard/lenovo/x1_carbon_gen1/vboot-ro.fmd M src/mainboard/lenovo/x1_carbon_gen1/vboot-rwab.fmd M src/mainboard/lenovo/x200/vboot-rwa.fmd M src/mainboard/lenovo/x201/vboot-rwa.fmd M src/mainboard/lenovo/x220/vboot-ro-me_clean.fmd M src/mainboard/lenovo/x220/vboot-ro.fmd M src/mainboard/lenovo/x220/vboot-rwa.fmd M src/mainboard/lenovo/x230/vboot-ro-me_clean.fmd M src/mainboard/lenovo/x230/vboot-ro.fmd M src/mainboard/lenovo/x230/vboot-rwab.fmd M src/mainboard/lenovo/x60/vboot-rwa.fmd M src/mainboard/opencellular/elgon/board.fmd M src/mainboard/opencellular/elgon/vboot.fmd M src/mainboard/protectli/vault_adl_p/vboot-rwa.fmd M src/mainboard/protectli/vault_cml/board.fmd M src/mainboard/protectli/vault_cml/vboot-rwa.fmd M src/mainboard/samsung/lumpy/chromeos.fmd M src/mainboard/samsung/stumpy/chromeos.fmd M src/mainboard/siemens/fa_ehl/fa_ehl.fmd M src/mainboard/siemens/mc_ehl/mc_ehl.fmd M src/mainboard/ti/beaglebone/board.fmd M src/soc/amd/glinda/Makefile.mk M src/soc/amd/mendocino/Makefile.mk M src/soc/amd/phoenix/Makefile.mk M util/amdfwtool/amdfwread.c M util/amdfwtool/amdfwtool.h M util/amdfwtool/data_parse.c M util/amdfwtool/opts.c M util/cbfstool/default-x86.fmd M util/cbfstool/default.fmd 154 files changed, 199 insertions(+), 180 deletions(-)
Approvals: David Hendricks: Looks good to me, approved Shuo Liu: Looks good to me, but someone else must approve Matt DeVillier: Looks good to me, approved build bot (Jenkins): Verified
diff --git a/Makefile.mk b/Makefile.mk index bc547de..19bac29 100644 --- a/Makefile.mk +++ b/Makefile.mk @@ -1096,7 +1096,6 @@ 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 @@
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 @@ 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 f4b8d254..a017ee1 100644 --- a/src/arch/x86/walkcbfs.S +++ b/src/arch/x86/walkcbfs.S @@ -93,7 +93,7 @@
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 b27d9d3..e056423 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 bc09fe7..4f5598c 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 bc09fe7..4f5598c 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 420ed6e..9cc4fbd 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 420ed6e..9cc4fbd 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 bc09fe7..4f5598c 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 420ed6e..9cc4fbd 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 420ed6e..9cc4fbd 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 6c6ad92..eace041 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 c0e02dd..96cc1dc 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 556e295..b5a4e73 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 76a21f6..12b4727 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 442d80f..fc7108b 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 1a1d96b..eecbbb1 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 442d80f..fc7108b 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 33b281d..522330c 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 6f7af56..2600ec7 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 b70d561..b77203f 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 2b75d35..dc7e866 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 1a58bb1..2c5ddd2 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 011d070..bfab2eb 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 55a38b7..159a5e3 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 55a38b7..159a5e3 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 8064fdf..8bc95f8 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 fcc6e19..e91034eb 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 a00c0c9..baaacc0 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 8f47443..f9cc100 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 bb2a95c..5716251 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 923c8ee..dae8796 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 923c8ee..dae8796 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 93048a3..ef8ca78 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 bb2a95c..5716251 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 5b2234d..6b3cecb 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 bc9bac3..a41a8c1 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 63bde33..60794a8 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 0e21c4c..5c80e6d 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 60ea3de..ece712d 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 6e9170e..6923886 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 4f2bedf..9d1216b 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 1cc4a61..92bca1b 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 1cc4a61..92bca1b 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 f9a531c..5a5f903 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 3a55bdc..4d3c913 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 a8c4dfe..f330299 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 9ba1bf7..8132712 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 032f472..f569c30 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 c4c90a1..922ed6f 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 8880a4f..83a828e 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 8368b0a..2161ed5 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 b7633a4..5642fab 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 923c8ee..dae8796 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 d7d0a88..faabc0b 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 61d45b0..8158ad2 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 3841445..986e0a3 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 ccdfbde..e412c97 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 2bfa260..81fcbe3 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 bca1346..2063261 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 bca1346..2063261 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 bca1346..2063261 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 df35976..9df6494 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 6752888..90e59de 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 63bde33..60794a8 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 1cc4a61..92bca1b 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 61a0b0f..457c2c9 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 81840b1..caa9636 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 923c8ee..dae8796 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 a1595df..abf673f 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 65a915a..18d3cf1 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 4f2bedf..9d1216b 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 afc6ce1..12ad05f 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 5b2234d..6b3cecb 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 923c8ee..dae8796 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 4b1ba19..545949b 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 3a55bdc..4d3c913 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 93048a3..ef8ca78 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 f696076..aa311df 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 df35976..9df6494 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 76ab2c3..882d098 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 df35976..9df6494 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 b405b2f..c874c56 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 9f51f01..904a7f4 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 df5bc05..d5a34a2 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 9852a22..32e2ab1 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 df5bc05..d5a34a2 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 2002f6e..0b4c21a 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 39bd6c5..da4e70e 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 62e0f5d..d6977c1 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 5c22e12..a229b4a 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 4fe11de..ac5967c 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 9ba1bf7..8132712 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 9ba1bf7..8132712 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 a4b8643..6560d22 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 bc9bac3..a41a8c1 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 1e2e792..78a825e 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 9852a22..32e2ab1 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 565cacd..5101caa 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 6bdd4cc..027849b 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 e38cd60..220d324 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 4acae85..c97c812 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 b7d75c0..bdb5c58 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 d1cbff7..5f490f8 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 51df8a5..bbcbba5 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 4bd4b86..e951c83 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 d1cbff7..5f490f8 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 51df8a5..bbcbba5 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 4bd4b86..e951c83 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 565cacd..5101caa 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 6bdd4cc..027849b 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 13df4f6..8819959 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 565cacd..5101caa 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 6bdd4cc..027849b 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 13df4f6..8819959 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 d1cbff7..5f490f8 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 51df8a5..bbcbba5 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 4bd4b86..e951c83 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 565cacd..5101caa 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 6bdd4cc..027849b 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 13df4f6..8819959 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 565cacd..5101caa 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 6bdd4cc..027849b 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 13df4f6..8819959 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 565cacd..5101caa 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 6bdd4cc..027849b 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 13df4f6..8819959 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 4acae85..c97c812 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 f3c0042..d7982a0 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 d1cbff7..5f490f8 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 51df8a5..bbcbba5 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 4bd4b86..e951c83 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 565cacd..5101caa 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 6bdd4cc..027849b 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 13df4f6..8819959 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 eabae66..47424d5 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 222490c..1f411aa 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 77ef10d..f270b90 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 65b52d9..00b34b1 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 37ec01e..e7f4091 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 b5c233f..39a497e 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 051cfd1..32dfae9 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 051cfd1..32dfae9 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 78faf2b..8196ece 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 78faf2b..8196ece 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 26a210f..42a9214 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 7f48581..d451199 100644 --- a/src/soc/amd/glinda/Makefile.mk +++ b/src/soc/amd/glinda/Makefile.mk @@ -57,6 +57,7 @@
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 @@ 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 4236894..69578d1 100644 --- a/src/soc/amd/mendocino/Makefile.mk +++ b/src/soc/amd/mendocino/Makefile.mk @@ -52,10 +52,10 @@ 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 @@ 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 7713fad..2766e0e 100644 --- a/src/soc/amd/phoenix/Makefile.mk +++ b/src/soc/amd/phoenix/Makefile.mk @@ -65,8 +65,6 @@ 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 @@ # 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 @@ 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 711b158..ca61571 100644 --- a/util/amdfwtool/amdfwread.c +++ b/util/amdfwtool/amdfwread.c @@ -8,10 +8,6 @@ #include <unistd.h> #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 24a7dd3..70b2600 100644 --- a/util/amdfwtool/amdfwtool.h +++ b/util/amdfwtool/amdfwtool.h @@ -9,6 +9,11 @@ #include <stdint.h> #include <stdbool.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 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 154d34d..4a368f8 100644 --- a/util/amdfwtool/data_parse.c +++ b/util/amdfwtool/data_parse.c @@ -734,6 +734,30 @@ 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 @@
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 62bbc97..5d1ee67 100644 --- a/util/amdfwtool/opts.c +++ b/util/amdfwtool/opts.c @@ -524,7 +524,7 @@ 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 f008889..795e025 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 8f4819e..d20789f 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##