19 IN LINE_OPERATION LineOperation,
23 UINTN ArmCacheLineAlignmentMask;
28 ArmCacheLineAlignmentMask = LineLength - 1;
29 AlignedAddress = (
UINTN)Start - ((
UINTN)Start & ArmCacheLineAlignmentMask);
30 EndAddress = (
UINTN)Start + Length;
33 while (AlignedAddress < EndAddress) {
34 LineOperation (AlignedAddress);
35 AlignedAddress += LineLength;
38 ArmDataSynchronizationBarrier ();
69 ArmCleanDataCacheEntryToPoUByMVA,
70 ArmDataCacheLineLength ()
75 ArmInvalidateInstructionCacheEntryToPoUByMVA,
76 ArmInstructionCacheLineLength ()
79 ArmInstructionSynchronizationBarrier ();
100 CacheRangeOperation (
103 ArmCleanInvalidateDataCacheEntryByMVA,
104 ArmDataCacheLineLength ()
125 CacheRangeOperation (
128 ArmCleanDataCacheEntryByMVA,
129 ArmDataCacheLineLength ()
141 CacheRangeOperation (
144 ArmInvalidateDataCacheEntryByMVA,
145 ArmDataCacheLineLength ()
VOID EFIAPI InvalidateDataCache(VOID)
VOID *EFIAPI WriteBackDataCacheRange(IN VOID *Address, IN UINTN Length)
VOID *EFIAPI InvalidateDataCacheRange(IN VOID *Address, IN UINTN Length)
VOID *EFIAPI WriteBackInvalidateDataCacheRange(IN VOID *Address, IN UINTN Length)
VOID EFIAPI InvalidateInstructionCache(VOID)
VOID EFIAPI WriteBackInvalidateDataCache(VOID)
VOID EFIAPI WriteBackDataCache(VOID)
VOID *EFIAPI InvalidateInstructionCacheRange(IN VOID *Address, IN UINTN Length)