3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 Copyright (c) 2011 - 2014, ARM Limited. All rights reserved.
6 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include <Chipset/ArmV7.h>
11 #include <Library/ArmLib.h>
12 #include <Library/BaseLib.h>
13 #include <Library/IoLib.h>
15 #include "ArmLibPrivate.h"
18 ArmV7DataCacheOperation (
19 IN ARM_V7_CACHE_OPERATION DataCacheOperation
22 UINTN SavedInterruptState
;
24 SavedInterruptState
= ArmGetInterruptState ();
25 ArmDisableInterrupts ();
27 ArmV7AllDataCachesOperation (DataCacheOperation
);
29 ArmDataSynchronizationBarrier ();
31 if (SavedInterruptState
) {
32 ArmEnableInterrupts ();
38 ArmInvalidateDataCache (
42 ArmDataSynchronizationBarrier ();
43 ArmV7DataCacheOperation (ArmInvalidateDataCacheEntryBySetWay
);
48 ArmCleanInvalidateDataCache (
52 ArmDataSynchronizationBarrier ();
53 ArmV7DataCacheOperation (ArmCleanInvalidateDataCacheEntryBySetWay
);
62 ArmDataSynchronizationBarrier ();
63 ArmV7DataCacheOperation (ArmCleanDataCacheEntryBySetWay
);