This is a followup to the single patch I sent out yesterday. Of course, it
was just the tip of the iceberg, and you know what happens when you make a
clean spot :-)
Anyway, this is a first pass at cleaning up the cache maintenance in the
various ARM packages.
Patch #1 is Mark Rutland's patch he sent out yesterday as well, I only
cleaned up the commitlog to refer to ArmPkg rather than ArmVirtPkg, and
mention AArch64 explicitly.
Patch #2 fixes a typo 'ArmDataSyncronizationBarrier' across all the
packages where it occurred.
Patch #3 removes the ARM9 version of ArmLib. There are no users, nor are
there likely to be new ones since ARM9 is so old.
Patch #4 removes the 'clean to PoU by set/way' routines.
Patch #5 removes the ARM_CACHE_INFO routines that mostly infer cache geometry
from CCSIDR which is explicitly forbidden by the architecture. Since there are
no users anyway, I just removed all of it.
Patch #6 fixes another illegal use of CCSIDR: cache maintenance by virtual
address needs to use the stride reported in CTR not CCSIDR
Patch #7 is based on the patch 'ArmPkg/ArmLib: remove pointless sync barriers
after each cache op' I sent out yesterday. As Mark Rutland and Leif pointed out,
the MVA outer loop (unlike the set/way outer loop) did not have the barriers yet
at the end, so this version adds those as well, and updates the ARMv7 side too.
Patch #8 updates the ArmCacheMaintenanceLib whole-cache maintenance routines to
ASSERT() rather than silently invoke the data cache maintenance by set/way
routines which we know are not appropriate at runtime.
Patch #9 and #10 remove some other uses of ArmInvalidateDataCache() at startup
time which are not appropriate at the UEFI firmware level.
Ard Biesheuvel (9):
ArmPkg BeagleBoardPkg Omap35xxPkg: fix typo
'ArmDataSyncronizationBarrier'
ArmPkg/ArmLib: remove unused ARM9 support
ArmPkg/ArmLib: remove unused ArmCleanDataCacheToPoU()
ArmPkg/ArmLib: remove CCSIDR based cache info routines
ArmPkg/ArmLib: retrieve cache line length from CTR not CCSIDR
ArmPkg/ArmLib: move cache maintenance sync barriers out of loop
ArmCacheMaintenanceLib: disallow whole D-cache maintenance operations
ArmVirtPkg/PrePi: do not invalidate the entire data cache at startup
ArmPlatformPkg: do not invalidate the entire data cache at startup
Mark Rutland (1):
ArmPkg/ArmLib: fix barriers in AArch64 ArmEnableMmu
ArmPkg/Include/Library/ArmLib.h | 86 +--------
ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c | 10 +-
ArmPkg/Library/ArmLib/AArch64/AArch64Lib.c | 196
-------------------
ArmPkg/Library/ArmLib/AArch64/AArch64Lib.h | 6 -
ArmPkg/Library/ArmLib/AArch64/AArch64Support.S | 36 +---
ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf | 43 -----
ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf | 43 -----
ArmPkg/Library/ArmLib/Arm9/Arm9CacheInformation.c | 165
----------------
ArmPkg/Library/ArmLib/Arm9/Arm9Lib.c | 134
-------------
ArmPkg/Library/ArmLib/Arm9/Arm9Support.S | 153
---------------
ArmPkg/Library/ArmLib/Arm9/Arm9Support.asm | 153
---------------
ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.c | 199
--------------------
ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h | 6 -
ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S | 66 +------
ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm | 66 +------
ArmPkg/Library/ArmLib/Common/ArmLib.c | 38 ++--
ArmPkg/Library/ArmLib/Null/NullArmCacheInformation.c | 106
-----------
ArmPkg/Library/ArmLib/Null/NullArmLib.inf | 1 -
ArmPlatformPkg/PrePeiCore/PrePeiCore.c | 2 -
ArmPlatformPkg/PrePi/PrePi.c | 2 -
ArmVirtPkg/PrePi/PrePi.c | 2 -
BeagleBoardPkg/Library/BeagleBoardLib/BeagleBoard.c | 4 +-
Omap35xxPkg/InterruptDxe/HardwareInterrupt.c | 6 +-
Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.c | 2 +-
24 files changed, 41 insertions(+), 1484 deletions(-)
delete mode 100644 ArmPkg/Library/ArmLib/Arm9/Arm9ArmLib.inf
delete mode 100644 ArmPkg/Library/ArmLib/Arm9/Arm9ArmLibPrePi.inf
delete mode 100644 ArmPkg/Library/ArmLib/Arm9/Arm9CacheInformation.c
delete mode 100644 ArmPkg/Library/ArmLib/Arm9/Arm9Lib.c
delete mode 100644 ArmPkg/Library/ArmLib/Arm9/Arm9Support.S
delete mode 100644 ArmPkg/Library/ArmLib/Arm9/Arm9Support.asm
delete mode 100644 ArmPkg/Library/ArmLib/Null/NullArmCacheInformation.c
--
1.9.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel