edk2/ArmPkg
Chris Fernald 0abce02980 ArmPkg: Only flush cache for memory that is mapped and intentional
The previous commit to add cache flushing for memory being changed from
a cacheable memory to non-cacheable memory did not check if the new memory
type would be marked as a valid mapping. Because of this, if the
cacheability is changed on memory that has `EFI_MEMORY_RP` set, the flush
be VA would still be invoked which would cause a synchronous data abort.

Additionally, this commit removes flushing the cache if no attribute was
provided by the caller. It have been observed that in some cases,
including the core itself, the caller does not provide a cacheability
attribute and this code will default to a unused (so device) index. To
avoid unexpected behavior, we must ignore this scenario since it is
already in err and this shouldn't be made worse.

Signed-off-by: Chris Fernald <chfernal@microsoft.com>
2026-06-19 22:28:07 +00:00
..
Drivers ArmPkg: Only flush cache for memory that is mapped and intentional 2026-06-19 22:28:07 +00:00
Filesystem/SemihostFs ArmPkg: Replace include guards with #pragma once 2026-02-23 21:01:28 +00:00
Include ArmPkg, StandaloneMmPkg: optimise memory permission change 2026-05-29 18:44:57 +00:00
Library ArmPkg/ArchArmTimerLib: Re-implement NanoSecondDelay() 2026-06-03 18:55:50 +00:00
Universal/Smbios ArmPkg: align UNI file headers with UNI Spec standard 2026-03-02 19:32:17 +00:00
ArmPkg.ci.yaml ArmPkg/Library: introduce FmpDeviceLib using Firmware update ABI 2026-01-15 21:26:20 +00:00
ArmPkg.dec Global: Merge DefaultExceptionHandlerLib into CpuExceptionHandlerLib 2026-05-28 16:40:04 +00:00
ArmPkg.dsc Global: Merge DefaultExceptionHandlerLib into CpuExceptionHandlerLib 2026-05-28 16:40:04 +00:00