mirror of
https://github.com/acidanthera/audk.git
synced 2025-08-17 15:48:10 +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>
43 lines
828 B
C
43 lines
828 B
C
/** @file
|
|
|
|
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef ARM_V7_LIB_H_
|
|
#define ARM_V7_LIB_H_
|
|
|
|
#define ID_MMFR0_SHARELVL_SHIFT 12
|
|
#define ID_MMFR0_SHARELVL_MASK 0xf
|
|
#define ID_MMFR0_SHARELVL_ONE 0
|
|
#define ID_MMFR0_SHARELVL_TWO 1
|
|
|
|
#define ID_MMFR0_INNERSHR_SHIFT 28
|
|
#define ID_MMFR0_INNERSHR_MASK 0xf
|
|
#define ID_MMFR0_OUTERSHR_SHIFT 8
|
|
#define ID_MMFR0_OUTERSHR_MASK 0xf
|
|
|
|
#define ID_MMFR0_SHR_IMP_UNCACHED 0
|
|
#define ID_MMFR0_SHR_IMP_HW_COHERENT 1
|
|
#define ID_MMFR0_SHR_IGNORED 0xf
|
|
|
|
/** Reads the ID_MMFR4 register.
|
|
|
|
@return The contents of the ID_MMFR4 register.
|
|
**/
|
|
UINT32
|
|
EFIAPI
|
|
ArmReadIdMmfr4 (
|
|
VOID
|
|
);
|
|
|
|
UINTN
|
|
EFIAPI
|
|
ArmReadIdPfr1 (
|
|
VOID
|
|
);
|
|
|
|
#endif // ARM_V7_LIB_H_
|