NorFlashDxe must use aligned MMIO accesses to read data from flash as this is device memory.
The AlignedCopyMem() in NorFlashDxe was used to copy the flash data which prevented unaligned access to device memory. However, the compiler could optimize the code to generate pre/post indexed or LDP operations. This is a problem for guest/virtual firmware as the hypervisor code cannot get the syndrome information for the trapped accesses. With the introduction of virtual firmware support for Kvmtool guests, it is necessary to link NorFlashDxe with BaseMemoryLibMmio (as it enforces aligned MMIO accesses). This patch series updates the workspaces for platforms that use the NorFlashDxe to link with BaseMemoryLibMmio. This patch series is dependent on the edk2 patch series that implements BaseMemoryLibMmio and can be seen at: https://edk2.groups.io/g/devel/topic/patch_v2_00_11_kvmtool/74200861?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,74200861 This changes in this patch series can be seen at: https://github.com/samimujawar/edk2-platforms/tree/299_kvmtool_plat_support_v2 Sami Mujawar (2): Platform/ARM: Link NorFlashDxe with BaseMemoryLibMmio Platform/Comcast: Link NorFlashDxe with BaseMemoryLibMmio Platform/ARM/JunoPkg/ArmJuno.dsc | 7 +++++-- Platform/ARM/SgiPkg/SgiPlatform.dsc.inc | 5 ++++- Platform/ARM/VExpressPkg/ArmVExpress-CTA15-A7.dsc | 7 +++++-- Platform/ARM/VExpressPkg/ArmVExpress-FVP-AArch64.dsc | 7 +++++-- Platform/Comcast/RDKQemu/RDKQemu.dsc | 8 ++++++-- 5 files changed, 25 insertions(+), 9 deletions(-) -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59516): https://edk2.groups.io/g/devel/message/59516 Mute This Topic: https://groups.io/mt/74200938/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-