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

