I haven't provided the RW CBFS size, so it may be automatically determining its size based on components size. Setting fixed size may lead to the presence of some empty space.
And the RO_REGION_ONLY should be 'AGESA' not 'AGESA.bin', since we pass CBFS names there, not filenes of binaries on the root file system.
Well, then there is some error some place because I've set RO_REGION_ONLY to 'AGESA' and I'm still seeing to calls to added to CBFS. With:
$ make V=1 ... build/util/cbfstool/cbfstool build/coreboot.pre.tmp add -f 3rdparty/blobs/pi/amd/00660F01/FP4/AGESA.bin -n "AGESA" -t raw -r COREBOOT -b 0xFFE00000 ... build/util/cbfstool/cbfstool build/coreboot.pre.tmp add -f 3rdparty/blobs/pi/amd/00660F01/FP4/AGESA.bin -n "AGESA" -t raw -r FW_MAIN_A -b 0xFFE00000
$ grep -r "RO_REGION_ONLY" src/security/vboot/Makefile.inc: $(call strip_quotes,$(CONFIG_RO_REGION_ONLY)) \ src/security/vboot/Kconfig:config RO_REGION_ONLY src/northbridge/intel/haswell/Kconfig:config RO_REGION_ONLY src/soc/intel/apollolake/Kconfig:config RO_REGION_ONLY src/soc/intel/broadwell/Kconfig:config RO_REGION_ONLY src/soc/amd/picasso/Kconfig:config RO_REGION_ONLY src/soc/amd/stoneyridge/Kconfig:config RO_REGION_ONLY .config.old:CONFIG_RO_REGION_ONLY="AGESA" .config:CONFIG_RO_REGION_ONLY="AGESA" build/auto.conf:CONFIG_RO_REGION_ONLY="AGESA" build/config.h:#define CONFIG_RO_REGION_ONLY "AGESA"
Thanks for your help Mikal! Regards