mirror of
https://github.com/acidanthera/audk.git
synced 2025-08-18 16:18:12 +02:00
Cache maintenance operations by set/way are not broadcast, and operate on individual architected caches, making them suitable only for en/disabling cache levels, which is the job of secure firmware, to be carried out while the CPU in question is not taking part in the cache coherency protocol. Managing the clean/dirty state of a memory range can only be done using cache maintenance by virtual address. So drop the set/way handling from ArmLib for ARM and AARCH64, as there is no context where it can be used correctly from EDK2. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
79 lines
980 B
C
79 lines
980 B
C
/** @file
|
|
|
|
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
|
Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
|
|
Copyright (c) 2020, NUVIA Inc. All rights reserved.<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef AARCH64_LIB_H_
|
|
#define AARCH64_LIB_H_
|
|
|
|
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_
|