ArmPkg[all]
0.1
|
Data Structures | |
struct | ARM_MEMORY_REGION_DESCRIPTOR |
Typedefs | |
typedef VOID(* | CACHE_OPERATION )(VOID) |
typedef VOID(* | LINE_OPERATION )(UINTN) |
Functions | |
UINTN | ReadCCSIDR (IN UINT32 CSSELR) |
UINT32 | ReadCCSIDR2 (IN UINT32 CSSELR) |
UINT32 | ReadCLIDR (VOID) |
UINTN EFIAPI | ArmDataCacheLineLength (VOID) |
UINTN EFIAPI | ArmInstructionCacheLineLength (VOID) |
UINTN EFIAPI | ArmCacheWritebackGranule (VOID) |
UINTN EFIAPI | ArmIsArchTimerImplemented (VOID) |
UINTN EFIAPI | ArmCacheInfo (VOID) |
BOOLEAN EFIAPI | ArmIsMpCore (VOID) |
VOID EFIAPI | ArmInvalidateDataCache (VOID) |
VOID EFIAPI | ArmCleanInvalidateDataCache (VOID) |
VOID EFIAPI | ArmCleanDataCache (VOID) |
VOID EFIAPI | ArmInvalidateInstructionCache (VOID) |
VOID EFIAPI | ArmInvalidateDataCacheEntryByMVA (IN UINTN Address) |
VOID EFIAPI | ArmCleanDataCacheEntryToPoUByMVA (IN UINTN Address) |
VOID EFIAPI | ArmInvalidateInstructionCacheEntryToPoUByMVA (IN UINTN Address) |
VOID EFIAPI | ArmCleanDataCacheEntryByMVA (IN UINTN Address) |
VOID EFIAPI | ArmCleanInvalidateDataCacheEntryByMVA (IN UINTN Address) |
VOID EFIAPI | ArmEnableDataCache (VOID) |
VOID EFIAPI | ArmDisableDataCache (VOID) |
VOID EFIAPI | ArmEnableInstructionCache (VOID) |
VOID EFIAPI | ArmDisableInstructionCache (VOID) |
VOID EFIAPI | ArmEnableMmu (VOID) |
VOID EFIAPI | ArmDisableMmu (VOID) |
VOID EFIAPI | ArmEnableCachesAndMmu (VOID) |
VOID EFIAPI | ArmDisableCachesAndMmu (VOID) |
VOID EFIAPI | ArmEnableInterrupts (VOID) |
UINTN EFIAPI | ArmDisableInterrupts (VOID) |
BOOLEAN EFIAPI | ArmGetInterruptState (VOID) |
VOID EFIAPI | ArmEnableAsynchronousAbort (VOID) |
UINTN EFIAPI | ArmDisableAsynchronousAbort (VOID) |
VOID EFIAPI | ArmEnableIrq (VOID) |
UINTN EFIAPI | ArmDisableIrq (VOID) |
VOID EFIAPI | ArmEnableFiq (VOID) |
UINTN EFIAPI | ArmDisableFiq (VOID) |
BOOLEAN EFIAPI | ArmGetFiqState (VOID) |
VOID EFIAPI | ArmInvalidateTlb (VOID) |
VOID EFIAPI | ArmUpdateTranslationTableEntry (IN VOID *TranslationTableEntry, IN VOID *Mva) |
VOID EFIAPI | ArmSetDomainAccessControl (IN UINT32 Domain) |
VOID EFIAPI | ArmSetTTBR0 (IN VOID *TranslationTableBase) |
VOID EFIAPI | ArmSetTTBCR (IN UINT32 Bits) |
VOID *EFIAPI | ArmGetTTBR0BaseAddress (VOID) |
BOOLEAN EFIAPI | ArmMmuEnabled (VOID) |
VOID EFIAPI | ArmEnableBranchPrediction (VOID) |
VOID EFIAPI | ArmDisableBranchPrediction (VOID) |
VOID EFIAPI | ArmSetLowVectors (VOID) |
VOID EFIAPI | ArmSetHighVectors (VOID) |
VOID EFIAPI | ArmDataMemoryBarrier (VOID) |
VOID EFIAPI | ArmDataSynchronizationBarrier (VOID) |
VOID EFIAPI | ArmInstructionSynchronizationBarrier (VOID) |
VOID EFIAPI | ArmWriteVBar (IN UINTN VectorBase) |
UINTN EFIAPI | ArmReadVBar (VOID) |
VOID EFIAPI | ArmWriteAuxCr (IN UINT32 Bit) |
UINT32 EFIAPI | ArmReadAuxCr (VOID) |
VOID EFIAPI | ArmSetAuxCrBit (IN UINT32 Bits) |
VOID EFIAPI | ArmUnsetAuxCrBit (IN UINT32 Bits) |
VOID EFIAPI | ArmCallSEV (VOID) |
VOID EFIAPI | ArmCallWFE (VOID) |
VOID EFIAPI | ArmCallWFI (VOID) |
UINTN EFIAPI | ArmReadMpidr (VOID) |
UINTN EFIAPI | ArmReadMidr (VOID) |
UINT32 EFIAPI | ArmReadCpacr (VOID) |
VOID EFIAPI | ArmWriteCpacr (IN UINT32 Access) |
VOID EFIAPI | ArmEnableVFP (VOID) |
UINT32 EFIAPI | ArmReadScr (VOID) |
VOID EFIAPI | ArmWriteScr (IN UINT32 Value) |
UINT32 EFIAPI | ArmReadMVBar (VOID) |
VOID EFIAPI | ArmWriteMVBar (IN UINT32 VectorMonitorBase) |
UINT32 EFIAPI | ArmReadSctlr (VOID) |
VOID EFIAPI | ArmWriteSctlr (IN UINT32 Value) |
UINTN EFIAPI | ArmReadHVBar (VOID) |
VOID EFIAPI | ArmWriteHVBar (IN UINTN HypModeVectorBase) |
UINTN EFIAPI | ArmReadCpuActlr (VOID) |
VOID EFIAPI | ArmWriteCpuActlr (IN UINTN Val) |
VOID EFIAPI | ArmSetCpuActlrBit (IN UINTN Bits) |
VOID EFIAPI | ArmUnsetCpuActlrBit (IN UINTN Bits) |
UINTN EFIAPI | ArmReadCntFrq (VOID) |
VOID EFIAPI | ArmWriteCntFrq (UINTN FreqInHz) |
UINT64 EFIAPI | ArmReadCntPct (VOID) |
UINTN EFIAPI | ArmReadCntkCtl (VOID) |
VOID EFIAPI | ArmWriteCntkCtl (UINTN Val) |
UINTN EFIAPI | ArmReadCntpTval (VOID) |
VOID EFIAPI | ArmWriteCntpTval (UINTN Val) |
UINTN EFIAPI | ArmReadCntpCtl (VOID) |
VOID EFIAPI | ArmWriteCntpCtl (UINTN Val) |
UINTN EFIAPI | ArmReadCntvTval (VOID) |
VOID EFIAPI | ArmWriteCntvTval (UINTN Val) |
UINTN EFIAPI | ArmReadCntvCtl (VOID) |
VOID EFIAPI | ArmWriteCntvCtl (UINTN Val) |
UINT64 EFIAPI | ArmReadCntvCt (VOID) |
UINT64 EFIAPI | ArmReadCntpCval (VOID) |
VOID EFIAPI | ArmWriteCntpCval (UINT64 Val) |
UINT64 EFIAPI | ArmReadCntvCval (VOID) |
VOID EFIAPI | ArmWriteCntvCval (UINT64 Val) |
UINT64 EFIAPI | ArmReadCntvOff (VOID) |
VOID EFIAPI | ArmWriteCntvOff (UINT64 Val) |
UINTN EFIAPI | ArmGetPhysicalAddressBits (VOID) |
BOOLEAN EFIAPI | ArmHasGicSystemRegisters (VOID) |
BOOLEAN EFIAPI | ArmHasCcidx (VOID) |
BOOLEAN EFIAPI | ArmHasSecurityExtensions (VOID) |
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.
Copyright (c) 2020 - 2021, NUVIA Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define ARM_ARCH_TIMER_ENABLE (1 << 0) |
#define ARM_ARCH_TIMER_IMASK (1 << 1) |
#define ARM_ARCH_TIMER_ISTATUS (1 << 2) |
#define ARM_CLUSTER_MASK ARM_CORE_AFF1 |
#define ARM_CORE_AFF0 0xFF |
#define ARM_CORE_AFF1 (0xFF << 8) |
#define ARM_CORE_AFF2 (0xFF << 16) |
#define ARM_CORE_AFF3 (0xFFULL << 32) |
#define ARM_CORE_MASK ARM_CORE_AFF0 |
#define ARM_CPU_IMPLEMENTER_ARMLTD (0x41U << 24) |
#define ARM_CPU_IMPLEMENTER_DEC (0x44U << 24) |
#define ARM_CPU_IMPLEMENTER_MARVELL (0x56U << 24) |
#define ARM_CPU_IMPLEMENTER_MASK (0xFFU << 24) |
#define ARM_CPU_IMPLEMENTER_MOT (0x4DU << 24) |
#define ARM_CPU_IMPLEMENTER_QUALCOMM (0x51U << 24) |
#define ARM_CPU_PRIMARY_PART_CORTEXA15 (0xC0F << 4) |
#define ARM_CPU_PRIMARY_PART_CORTEXA5 (0xC05 << 4) |
#define ARM_CPU_PRIMARY_PART_CORTEXA7 (0xC07 << 4) |
#define ARM_CPU_PRIMARY_PART_CORTEXA8 (0xC08 << 4) |
#define ARM_CPU_PRIMARY_PART_CORTEXA9 (0xC09 << 4) |
#define ARM_CPU_PRIMARY_PART_MASK (0xFFF << 4) |
#define EFI_MEMORY_CACHETYPE_MASK |
#define GET_CLUSTER_ID | ( | MpId | ) | (((MpId) & ARM_CLUSTER_MASK) >> 8) |
#define GET_CORE_ID | ( | MpId | ) | ((MpId) & ARM_CORE_MASK) |
#define GET_MPID | ( | ClusterId, | |
CoreId | |||
) | (((ClusterId) << 8) | (CoreId)) |
#define IS_ARM_MEMORY_REGION_ATTRIBUTES_SECURE | ( | attr | ) | ((UINT32)(attr) & 1) |
#define PRIMARY_CORE_ID (PcdGet32(PcdArmPrimaryCore) & ARM_CORE_MASK) |
typedef VOID(* CACHE_OPERATION)(VOID) |
typedef VOID(* LINE_OPERATION)(UINTN) |
The UEFI firmware must not use the ARM_MEMORY_REGION_ATTRIBUTE_NONSECURE_* attributes.
The Non Secure memory attribute (ARM_MEMORY_REGION_ATTRIBUTE_NONSECURE_*) should only be used in Secure World to distinguished Secure to Non-Secure memory.
enum ARM_PROCESSOR_MODE |
UINTN EFIAPI ArmCacheInfo | ( | VOID | ) |
UINTN EFIAPI ArmCacheWritebackGranule | ( | VOID | ) |
VOID EFIAPI ArmCallSEV | ( | VOID | ) |
VOID EFIAPI ArmCallWFE | ( | VOID | ) |
VOID EFIAPI ArmCallWFI | ( | VOID | ) |
VOID EFIAPI ArmCleanDataCache | ( | VOID | ) |
VOID EFIAPI ArmCleanDataCacheEntryByMVA | ( | IN UINTN | Address | ) |
VOID EFIAPI ArmCleanDataCacheEntryToPoUByMVA | ( | IN UINTN | Address | ) |
VOID EFIAPI ArmCleanInvalidateDataCache | ( | VOID | ) |
VOID EFIAPI ArmCleanInvalidateDataCacheEntryByMVA | ( | IN UINTN | Address | ) |
UINTN EFIAPI ArmDataCacheLineLength | ( | VOID | ) |
VOID EFIAPI ArmDataMemoryBarrier | ( | VOID | ) |
VOID EFIAPI ArmDataSynchronizationBarrier | ( | VOID | ) |
UINTN EFIAPI ArmDisableAsynchronousAbort | ( | VOID | ) |
VOID EFIAPI ArmDisableBranchPrediction | ( | VOID | ) |
VOID EFIAPI ArmDisableCachesAndMmu | ( | VOID | ) |
VOID EFIAPI ArmDisableDataCache | ( | VOID | ) |
UINTN EFIAPI ArmDisableFiq | ( | VOID | ) |
VOID EFIAPI ArmDisableInstructionCache | ( | VOID | ) |
UINTN EFIAPI ArmDisableInterrupts | ( | VOID | ) |
UINTN EFIAPI ArmDisableIrq | ( | VOID | ) |
VOID EFIAPI ArmDisableMmu | ( | VOID | ) |
VOID EFIAPI ArmEnableAsynchronousAbort | ( | VOID | ) |
VOID EFIAPI ArmEnableBranchPrediction | ( | VOID | ) |
VOID EFIAPI ArmEnableCachesAndMmu | ( | VOID | ) |
VOID EFIAPI ArmEnableDataCache | ( | VOID | ) |
VOID EFIAPI ArmEnableFiq | ( | VOID | ) |
VOID EFIAPI ArmEnableInstructionCache | ( | VOID | ) |
VOID EFIAPI ArmEnableInterrupts | ( | VOID | ) |
VOID EFIAPI ArmEnableIrq | ( | VOID | ) |
VOID EFIAPI ArmEnableMmu | ( | VOID | ) |
VOID EFIAPI ArmEnableVFP | ( | VOID | ) |
BOOLEAN EFIAPI ArmGetFiqState | ( | VOID | ) |
BOOLEAN EFIAPI ArmGetInterruptState | ( | VOID | ) |
UINTN EFIAPI ArmGetPhysicalAddressBits | ( | VOID | ) |
VOID* EFIAPI ArmGetTTBR0BaseAddress | ( | VOID | ) |
BOOLEAN EFIAPI ArmHasCcidx | ( | VOID | ) |
Checks if CCIDX is implemented.
TRUE | CCIDX is implemented. |
FALSE | CCIDX is not implemented. |
BOOLEAN EFIAPI ArmHasGicSystemRegisters | ( | VOID | ) |
ID Register Helper functions Check whether the CPU supports the GIC system register interface (any version)
BOOLEAN EFIAPI ArmHasSecurityExtensions | ( | VOID | ) |
AArch32-only ID Register Helper functions Check whether the CPU supports the Security extensions
UINTN EFIAPI ArmInstructionCacheLineLength | ( | VOID | ) |
VOID EFIAPI ArmInstructionSynchronizationBarrier | ( | VOID | ) |
VOID EFIAPI ArmInvalidateDataCache | ( | VOID | ) |
VOID EFIAPI ArmInvalidateDataCacheEntryByMVA | ( | IN UINTN | Address | ) |
VOID EFIAPI ArmInvalidateInstructionCache | ( | VOID | ) |
VOID EFIAPI ArmInvalidateInstructionCacheEntryToPoUByMVA | ( | IN UINTN | Address | ) |
VOID EFIAPI ArmInvalidateTlb | ( | VOID | ) |
Invalidate Data and Instruction TLBs
UINTN EFIAPI ArmIsArchTimerImplemented | ( | VOID | ) |
BOOLEAN EFIAPI ArmIsMpCore | ( | VOID | ) |
BOOLEAN EFIAPI ArmMmuEnabled | ( | VOID | ) |
UINT32 EFIAPI ArmReadAuxCr | ( | VOID | ) |
UINTN EFIAPI ArmReadCntFrq | ( | VOID | ) |
UINTN EFIAPI ArmReadCntkCtl | ( | VOID | ) |
UINT64 EFIAPI ArmReadCntPct | ( | VOID | ) |
UINTN EFIAPI ArmReadCntpCtl | ( | VOID | ) |
UINT64 EFIAPI ArmReadCntpCval | ( | VOID | ) |
UINTN EFIAPI ArmReadCntpTval | ( | VOID | ) |
UINT64 EFIAPI ArmReadCntvCt | ( | VOID | ) |
UINTN EFIAPI ArmReadCntvCtl | ( | VOID | ) |
UINT64 EFIAPI ArmReadCntvCval | ( | VOID | ) |
UINT64 EFIAPI ArmReadCntvOff | ( | VOID | ) |
UINTN EFIAPI ArmReadCntvTval | ( | VOID | ) |
UINT32 EFIAPI ArmReadCpacr | ( | VOID | ) |
UINTN EFIAPI ArmReadCpuActlr | ( | VOID | ) |
UINTN EFIAPI ArmReadHVBar | ( | VOID | ) |
UINTN EFIAPI ArmReadMidr | ( | VOID | ) |
UINTN EFIAPI ArmReadMpidr | ( | VOID | ) |
UINT32 EFIAPI ArmReadMVBar | ( | VOID | ) |
UINT32 EFIAPI ArmReadScr | ( | VOID | ) |
Get the Secure Configuration Register value
UINT32 EFIAPI ArmReadSctlr | ( | VOID | ) |
UINTN EFIAPI ArmReadVBar | ( | VOID | ) |
VOID EFIAPI ArmSetAuxCrBit | ( | IN UINT32 | Bits | ) |
VOID EFIAPI ArmSetCpuActlrBit | ( | IN UINTN | Bits | ) |
VOID EFIAPI ArmSetDomainAccessControl | ( | IN UINT32 | Domain | ) |
VOID EFIAPI ArmSetHighVectors | ( | VOID | ) |
VOID EFIAPI ArmSetLowVectors | ( | VOID | ) |
VOID EFIAPI ArmSetTTBCR | ( | IN UINT32 | Bits | ) |
VOID EFIAPI ArmSetTTBR0 | ( | IN VOID * | TranslationTableBase | ) |
VOID EFIAPI ArmUnsetAuxCrBit | ( | IN UINT32 | Bits | ) |
VOID EFIAPI ArmUnsetCpuActlrBit | ( | IN UINTN | Bits | ) |
VOID EFIAPI ArmUpdateTranslationTableEntry | ( | IN VOID * | TranslationTableEntry, |
IN VOID * | Mva | ||
) |
VOID EFIAPI ArmWriteAuxCr | ( | IN UINT32 | Bit | ) |
VOID EFIAPI ArmWriteCntFrq | ( | UINTN | FreqInHz | ) |
VOID EFIAPI ArmWriteCntkCtl | ( | UINTN | Val | ) |
VOID EFIAPI ArmWriteCntpCtl | ( | UINTN | Val | ) |
VOID EFIAPI ArmWriteCntpCval | ( | UINT64 | Val | ) |
VOID EFIAPI ArmWriteCntpTval | ( | UINTN | Val | ) |
VOID EFIAPI ArmWriteCntvCtl | ( | UINTN | Val | ) |
VOID EFIAPI ArmWriteCntvCval | ( | UINT64 | Val | ) |
VOID EFIAPI ArmWriteCntvOff | ( | UINT64 | Val | ) |
VOID EFIAPI ArmWriteCntvTval | ( | UINTN | Val | ) |
VOID EFIAPI ArmWriteCpacr | ( | IN UINT32 | Access | ) |
VOID EFIAPI ArmWriteCpuActlr | ( | IN UINTN | Val | ) |
VOID EFIAPI ArmWriteHVBar | ( | IN UINTN | HypModeVectorBase | ) |
VOID EFIAPI ArmWriteMVBar | ( | IN UINT32 | VectorMonitorBase | ) |
VOID EFIAPI ArmWriteScr | ( | IN UINT32 | Value | ) |
Set the Secure Configuration Register
Value | Value to write to the Secure Configuration Register |
VOID EFIAPI ArmWriteSctlr | ( | IN UINT32 | Value | ) |
VOID EFIAPI ArmWriteVBar | ( | IN UINTN | VectorBase | ) |
UINTN ReadCCSIDR | ( | IN UINT32 | CSSELR | ) |
Reads the CCSIDR register for the specified cache.
CSSELR | The CSSELR cache selection register value. |
UINT32 ReadCCSIDR2 | ( | IN UINT32 | CSSELR | ) |
Reads the CCSIDR2 for the specified cache.
CSSELR | The CSSELR cache selection register value |
UINT32 ReadCLIDR | ( | VOID | ) |
Reads the Cache Level ID (CLIDR) register.