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

Reply via email to