In ArmLib, there exists an alias for ArmDataSynchronizationBarrier, named after one of several names for the pre-ARMv6 cp15 operation that was formalised into the Data Synchronization Barrier in ARMv6. This alias is also the one called from within ArmLib, in preference of the correct name. Through the power of code reuse, this name slipped into the AArch64 variant as well. Expunge it from the codebase. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18915 6f19259b-4bc3-4df7-8a09-765794883524
72 lines
1.6 KiB
C
72 lines
1.6 KiB
C
/** @file
|
|
|
|
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
|
Portions copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
|
|
|
|
This program and the accompanying materials
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
**/
|
|
|
|
#include <Uefi.h>
|
|
#include <Chipset/AArch64.h>
|
|
#include <Library/ArmLib.h>
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/IoLib.h>
|
|
#include "AArch64Lib.h"
|
|
#include "ArmLibPrivate.h"
|
|
|
|
VOID
|
|
AArch64DataCacheOperation (
|
|
IN AARCH64_CACHE_OPERATION DataCacheOperation
|
|
)
|
|
{
|
|
UINTN SavedInterruptState;
|
|
|
|
SavedInterruptState = ArmGetInterruptState ();
|
|
ArmDisableInterrupts();
|
|
|
|
AArch64AllDataCachesOperation (DataCacheOperation);
|
|
|
|
ArmDataSynchronizationBarrier ();
|
|
|
|
if (SavedInterruptState) {
|
|
ArmEnableInterrupts ();
|
|
}
|
|
}
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmInvalidateDataCache (
|
|
VOID
|
|
)
|
|
{
|
|
ArmDataSynchronizationBarrier ();
|
|
AArch64DataCacheOperation (ArmInvalidateDataCacheEntryBySetWay);
|
|
}
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmCleanInvalidateDataCache (
|
|
VOID
|
|
)
|
|
{
|
|
ArmDataSynchronizationBarrier ();
|
|
AArch64DataCacheOperation (ArmCleanInvalidateDataCacheEntryBySetWay);
|
|
}
|
|
|
|
VOID
|
|
EFIAPI
|
|
ArmCleanDataCache (
|
|
VOID
|
|
)
|
|
{
|
|
ArmDataSynchronizationBarrier ();
|
|
AArch64DataCacheOperation (ArmCleanDataCacheEntryBySetWay);
|
|
}
|