On Wed, Dec 11, 2013 at 2:56 AM, Olivier Martin olivier.martin@arm.com wrote:
Thanks Roy for the investigation.
FYI, I am working on fixing our UEFI in our CI infrastructure to validate your patch. The 'restriction' you found out is interesting, I need to review the code to see if it can be fixed or if it is really a restriction.
Olivier
Hi Olivier,
I'm still a bit unsure how all the NOR and Fvb initialization fits together, but it looks like the problem is at least partially in: NorFlashFvbInitialize(), which calls ValidateFvHeader() with a NOR flash instance.
The ARM version of ValidateFvHeader is defined as: EFI_STATUS ValidateFvHeader ( IN NOR_FLASH_INSTANCE *Instance ) And then checks for a header at Instance->RegionBaseAddress.
Others are: EFI_STATUS ValidateFvHeader ( IN EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader )
I have not looked at the others to see if the volume header is tied to the start of flash or not, but at least the APIs allow for it to be elsewhere. Since each set of block sizes gets its own flash region, the original flash addresses worked because it was at the start of the boot block region.
Roy
-----Original Message----- From: linaro-uefi-bounces@lists.linaro.org [mailto:linaro-uefi- bounces@lists.linaro.org] On Behalf Of Roy Franz Sent: 11 December 2013 03:24 To: Steven Kinney; ryan.harkin@linaro.org; linaro-uefi Subject: [Linaro-uefi] Updated QEMU flash topic branch
I have pushed an updated flash topic branch that fixes the persistent storage on RTSM and QEMU. The ARM NOR support in UEFI only supports Firmware volumes that start at the beginning of a NOR flash region, so I have moved the variable storage to be at the base of the secondary flash. This seems like an odd restriction, and I'm unsure if this was an intentional design decision of just a simplification to get NOR working.
Topic branch:
https://git.linaro.org/people/roy.franz/uefi- next.git/shortlog/refs/heads/topic-qemu-flash-v2
I will need to send out updated patches to the list based on these changes as well.
Roy
Linaro-uefi mailing list Linaro-uefi@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-uefi