Ard Biesheuvel 6706fe6e23 ArmPkg/ArmLib: Drop set/way Dcache operations
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>
2024-09-13 00:23:13 +00:00

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_