/** @file
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
Copyright (c) 2020, NUVIA Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef AARCH64_LIB_H_
#define AARCH64_LIB_H_
typedef VOID (*AARCH64_CACHE_OPERATION)(
UINTN
);
VOID
AArch64AllDataCachesOperation (
IN AARCH64_CACHE_OPERATION DataCacheOperation
);
VOID
EFIAPI
ArmInvalidateDataCacheEntryBySetWay (
IN UINTN SetWayFormat
);
VOID
EFIAPI
ArmCleanDataCacheEntryBySetWay (
IN UINTN SetWayFormat
);
VOID
EFIAPI
ArmCleanInvalidateDataCacheEntryBySetWay (
IN UINTN SetWayFormat
);
UINTN
EFIAPI
ArmReadIdAA64Dfr0 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Dfr1 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Isar0 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Isar1 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Isar2 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Mmfr0 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Mmfr1 (
VOID
);
/** Reads the ID_AA64MMFR2_EL1 register.
@return The contents of the ID_AA64MMFR2_EL1 register.
**/
UINTN
EFIAPI
ArmReadIdAA64Mmfr2 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Pfr0 (
VOID
);
UINTN
EFIAPI
ArmReadIdAA64Pfr1 (
VOID
);
#endif // AARCH64_LIB_H_