Change the addresses/sizes of the variable storage areas to use 256k blocks so UEFI is compatible with both the RTSM models and QEMU.
The VExpress flash has non-uniform block sizes, with most blocks being 256k and the top 4 blocks being 64k. UEFI has been using these top 64k blocks for persistent variable storage. The RTSM models the non-uniform sizes, while QEMU only supports emulating flash with uniform block sizes which results in the top 256k (the 4 64k blocks) of flash being unusable for writing in QEMU. The ARM UEFI NOR flash driver currently requires that firmware volumes start at the base of a flash region, so the variables are now stored at the base the region that consists of the 256k blocks. It was previously at the base of the region of 64k blocks.
Note that this change will require RTSM flash images to be updated, as the variable storage has moved. Currently only the A15 model is supported by QEMU RTSM VExpress configurations. This patch only changes the A15 configurations.
Saving of UEFI variables has been tested on RTSM and QEMU.
changes since V1: * Change addresses used to be at base of flash region, as this is a restriction of the ARM NOR flash driver. * Remove A9 changes. The A15 is the only CPU currently support in QEMU, so I removed the A9 changes since they can't be tested.
Roy Franz (1): Move RTSM VExpress variable storage to 256k flash blocks
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.dsc | 12 ++++++------ .../ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.dsc | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-)