summaryrefslogtreecommitdiff
path: root/ArmPkg
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2015-11-09 13:28:33 +0000
committerabiesheuvel <abiesheuvel@Edk2>2015-11-09 13:28:33 +0000
commit07c707858d2547aff283f2e639559627f98d3a9c (patch)
tree81fb15aaad588769323f22b048c8c7e8a406a7a4 /ArmPkg
parentc653fc2a91a946ea249e5d6161bca84f6c824f09 (diff)
downloadedk2-07c707858d2547aff283f2e639559627f98d3a9c.zip
edk2-07c707858d2547aff283f2e639559627f98d3a9c.tar.gz
edk2-07c707858d2547aff283f2e639559627f98d3a9c.tar.bz2
ArmPkg/ArmDmaLib: use the cache writeback granularity for alignment
When allocating memory to perform non-coherent DMA, use the cache writeback granule rather than the data cache linesize for alignment. This prevents the explicit cache maintenance from corrupting unrelated adjacent data if the cache writeback granule exceeds the cache linesize. Reported-by: Mark Rutland <mark.rutland@arm.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18759 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPkg')
-rwxr-xr-xArmPkg/Library/ArmDmaLib/ArmDmaLib.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c b/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c
index 12b1940..54a49a1 100755
--- a/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c
+++ b/ArmPkg/Library/ArmDmaLib/ArmDmaLib.c
@@ -277,7 +277,7 @@ ArmDmaLibConstructor (
Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&gCpu);
ASSERT_EFI_ERROR(Status);
- gCacheAlignment = ArmDataCacheLineLength ();
+ gCacheAlignment = ArmCacheWritebackGranule ();
return Status;
}