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 edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel