summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c')
-rw-r--r--ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c68
1 files changed, 44 insertions, 24 deletions
diff --git a/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c b/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c
index db9290f275..bad5d244cb 100644
--- a/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c
+++ b/ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.c
@@ -20,20 +20,21 @@ CacheRangeOperation (
IN UINTN LineLength
)
{
- UINTN ArmCacheLineAlignmentMask;
+ UINTN ArmCacheLineAlignmentMask;
// Align address (rounding down)
- UINTN AlignedAddress;
- UINTN EndAddress;
+ UINTN AlignedAddress;
+ UINTN EndAddress;
ArmCacheLineAlignmentMask = LineLength - 1;
- AlignedAddress = (UINTN)Start - ((UINTN)Start & ArmCacheLineAlignmentMask);
- EndAddress = (UINTN)Start + Length;
+ AlignedAddress = (UINTN)Start - ((UINTN)Start & ArmCacheLineAlignmentMask);
+ EndAddress = (UINTN)Start + Length;
// Perform the line operation on an address in each cache line
while (AlignedAddress < EndAddress) {
- LineOperation(AlignedAddress);
+ LineOperation (AlignedAddress);
AlignedAddress += LineLength;
}
+
ArmDataSynchronizationBarrier ();
}
@@ -58,15 +59,22 @@ InvalidateDataCache (
VOID *
EFIAPI
InvalidateInstructionCacheRange (
- IN VOID *Address,
- IN UINTN Length
+ IN VOID *Address,
+ IN UINTN Length
)
{
- CacheRangeOperation (Address, Length, ArmCleanDataCacheEntryToPoUByMVA,
- ArmDataCacheLineLength ());
- CacheRangeOperation (Address, Length,
+ CacheRangeOperation (
+ Address,
+ Length,
+ ArmCleanDataCacheEntryToPoUByMVA,
+ ArmDataCacheLineLength ()
+ );
+ CacheRangeOperation (
+ Address,
+ Length,
ArmInvalidateInstructionCacheEntryToPoUByMVA,
- ArmInstructionCacheLineLength ());
+ ArmInstructionCacheLineLength ()
+ );
ArmInstructionSynchronizationBarrier ();
@@ -85,12 +93,16 @@ WriteBackInvalidateDataCache (
VOID *
EFIAPI
WriteBackInvalidateDataCacheRange (
- IN VOID *Address,
- IN UINTN Length
+ IN VOID *Address,
+ IN UINTN Length
)
{
- CacheRangeOperation(Address, Length, ArmCleanInvalidateDataCacheEntryByMVA,
- ArmDataCacheLineLength ());
+ CacheRangeOperation (
+ Address,
+ Length,
+ ArmCleanInvalidateDataCacheEntryByMVA,
+ ArmDataCacheLineLength ()
+ );
return Address;
}
@@ -106,23 +118,31 @@ WriteBackDataCache (
VOID *
EFIAPI
WriteBackDataCacheRange (
- IN VOID *Address,
- IN UINTN Length
+ IN VOID *Address,
+ IN UINTN Length
)
{
- CacheRangeOperation(Address, Length, ArmCleanDataCacheEntryByMVA,
- ArmDataCacheLineLength ());
+ CacheRangeOperation (
+ Address,
+ Length,
+ ArmCleanDataCacheEntryByMVA,
+ ArmDataCacheLineLength ()
+ );
return Address;
}
VOID *
EFIAPI
InvalidateDataCacheRange (
- IN VOID *Address,
- IN UINTN Length
+ IN VOID *Address,
+ IN UINTN Length
)
{
- CacheRangeOperation(Address, Length, ArmInvalidateDataCacheEntryByMVA,
- ArmDataCacheLineLength ());
+ CacheRangeOperation (
+ Address,
+ Length,
+ ArmInvalidateDataCacheEntryByMVA,
+ ArmDataCacheLineLength ()
+ );
return Address;
}