On 14.11.2019 15:28, Jorge Fernandez Monteagudo wrote:
Ohh I see the problem. Quotes are problematic in these cbfstool calls:
agesa_binary := $(call strip_quotes,$(CONFIG_AGESA_CBFS_NAME)) cbfs-files-$(CONFIG_CPU_AMD_AGESA_BINARY_PI) += $(agesa_binary) $(agesa_binary)-file := $(CONFIG_AGESA_BINARY_PI_FILE) $(agesa_binary)-type := raw $(agesa_binary)-position := $(CONFIG_AGESA_BINARY_PI_LOCATION)
The RO_REGION_ONLY did not recognize the AGESA CBFS name due to the quotes and placed the file in both partitions still.
Yes! you're right again, now it's only called once.
Some more questions:
- If I don't have CONFIG_VPD and CONFIG_SMMSTORE enabled, the entries RW_VPD(PRESERVE) and SMMSTORE(PRESERVE) are needed?
No, not needed. You may remove them. My FMD was just an example.
- The RW_UNUSED@0x0 0x20000 could be used? Maybe is it possible to relocate the AMDFW to 0x0 instead of 0x20000?
Not possible. PSP check for certain offsets in search of its own firmware in SPI flash. All you cna do is to relocate it to CBFS to use different base address.
- CONSOLE 0x10000 is needed for something?
It is for SPI flash console logging. You also may remove it if not selected or needed.
- Is is possible to only have the payload in the RO area?
AFAIK it's not. If you put the fallback/payload name to RO_REGION_ONLY, it will probably do not launch the payload at all if executing from RW partition.
Thanks Jorge
Regards, Michał
On 14.11.2019 14:15, Jorge Fernandez Monteagudo wrote:
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 _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org