This series is a followup to 'ArmPkg/ArmDmaLib: remove dependency on
UncachedMemoryAllocationLib' sent out yesterday, and removes library
entirely.

There are two reasons for this:
- UncachedMemoryAllocationLib is often abused by drivers that should
  be using DMA abstractions instead. It is up to the platform to decide
  whether DMA is cache coherent or not, and the fact that non-cache
  coherent DMA may be implemented using uncached allocations should remain
  an implementation detail of the DmaLib instance.

- The code is poorly maintained, only frees its allocations in the destructor,
  and misleads by exposing pool allocate/free entry points that are actually
  backed by page based allocations.

Patches #1 and #2 add a DmaAllocateAlignedBuffer() to DmaLib and both
its implementations. This is required for current users of
UncachedMemoryAllocationLib that rely on minimum alignment to be able
to switch the DmaLib.

Patches #3 and #4 remove a couple of stale references.

Patch #5 actually removes the library and its single remaining implementation.

Ard Biesheuvel (5):
  EmbeddedPkg/DmaLib: add routine to allocate aligned buffers
  ArmPkg/ArmDmaLib: implement DmaAllocateAlignedBuffer()
  BeagleBoardPkg: remove UncachedMemoryAllocationLib resolutions
  Omap35xxPkg: remove bogus UncachedMemoryAllocationLib dependency
  ArmPkg: remove UncachedMemoryAllocationLib

 ArmPkg/ArmPkg.dec                                                          |   
4 -
 ArmPkg/ArmPkg.dsc                                                          |   
2 -
 ArmPkg/Include/Library/UncachedMemoryAllocationLib.h                       | 
665 ------------------
 ArmPkg/Library/ArmDmaLib/ArmDmaLib.c                                       |  
42 +-
 ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.c   | 
719 --------------------
 ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf |  
50 --
 BeagleBoardPkg/BeagleBoardPkg.dsc                                          |   
2 -
 EmbeddedPkg/Include/Library/DmaLib.h                                       |  
30 +-
 EmbeddedPkg/Library/NullDmaLib/NullDmaLib.c                                |  
48 +-
 Omap35xxPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf              |   
1 +
 Omap35xxPkg/Library/OmapDmaLib/OmapDmaLib.inf                              |   
1 -
 Omap35xxPkg/Omap35xxPkg.dsc                                                |   
2 -
 12 files changed, 112 insertions(+), 1454 deletions(-)
 delete mode 100644 ArmPkg/Include/Library/UncachedMemoryAllocationLib.h
 delete mode 100644 
ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.c
 delete mode 100644 
ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf

-- 
2.11.0

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to