TianoCore EDK2 master
Loading...
Searching...
No Matches
AArch32.h File Reference
#include <Arm/AArch32Mmu.h>

Go to the source code of this file.

Macros

#define ARM_ARCH_EXCEPTION_IRQ   EXCEPT_ARM_IRQ
 
#define ARM_PFR1_SEC   (0xFUL << 4)
 
#define ARM_PFR1_TIMER   (0xFUL << 16)
 
#define ARM_PFR1_GIC   (0xFUL << 28)
 
#define DOMAIN_ACCESS_CONTROL_MASK(a)   (3UL << (2 * (a)))
 
#define DOMAIN_ACCESS_CONTROL_NONE(a)   (0UL << (2 * (a)))
 
#define DOMAIN_ACCESS_CONTROL_CLIENT(a)   (1UL << (2 * (a)))
 
#define DOMAIN_ACCESS_CONTROL_RESERVED(a)   (2UL << (2 * (a)))
 
#define DOMAIN_ACCESS_CONTROL_MANAGER(a)   (3UL << (2 * (a)))
 
#define CPSR_MODE_USER   0x10
 
#define CPSR_MODE_FIQ   0x11
 
#define CPSR_MODE_IRQ   0x12
 
#define CPSR_MODE_SVC   0x13
 
#define CPSR_MODE_ABORT   0x17
 
#define CPSR_MODE_HYP   0x1A
 
#define CPSR_MODE_UNDEFINED   0x1B
 
#define CPSR_MODE_SYSTEM   0x1F
 
#define CPSR_MODE_MASK   0x1F
 
#define CPSR_ASYNC_ABORT   (1 << 8)
 
#define CPSR_IRQ   (1 << 7)
 
#define CPSR_FIQ   (1 << 6)
 
#define CPACR_CP_DENIED(cp)   0x00
 
#define CPACR_CP_PRIV(cp)   ((0x1 << ((cp) << 1)) & 0x0FFFFFFF)
 
#define CPACR_CP_FULL(cp)   ((0x3 << ((cp) << 1)) & 0x0FFFFFFF)
 
#define CPACR_ASEDIS   (1 << 31)
 
#define CPACR_D32DIS   (1 << 30)
 
#define CPACR_CP_FULL_ACCESS   0x0FFFFFFF
 
#define NSACR_CP(cp)   ((1 << (cp)) & 0x3FFF)
 
#define NSACR_NSD32DIS   (1 << 14)
 
#define NSACR_NSASEDIS   (1 << 15)
 
#define NSACR_PLE   (1 << 16)
 
#define NSACR_TL   (1 << 17)
 
#define NSACR_NS_SMP   (1 << 18)
 
#define NSACR_RFR   (1 << 19)
 
#define SCR_NS   (1 << 0)
 
#define SCR_IRQ   (1 << 1)
 
#define SCR_FIQ   (1 << 2)
 
#define SCR_EA   (1 << 3)
 
#define SCR_FW   (1 << 4)
 
#define SCR_AW   (1 << 5)
 
#define ARM_CPU_TYPE_SHIFT   4
 
#define ARM_CPU_TYPE_MASK   0xFFF
 
#define ARM_CPU_TYPE_AEMV8   0xD0F
 
#define ARM_CPU_TYPE_A53   0xD03
 
#define ARM_CPU_TYPE_A57   0xD07
 
#define ARM_CPU_TYPE_A15   0xC0F
 
#define ARM_CPU_TYPE_A12   0xC0D
 
#define ARM_CPU_TYPE_A9   0xC09
 
#define ARM_CPU_TYPE_A7   0xC07
 
#define ARM_CPU_TYPE_A5   0xC05
 
#define ARM_CPU_REV_MASK   ((0xF << 20) | (0xF) )
 
#define ARM_CPU_REV(rn, pn)   ((((rn) & 0xF) << 20) | ((pn) & 0xF))
 
#define ARM_VECTOR_TABLE_ALIGNMENT   ((1 << 5)-1)
 

Functions

VOID EFIAPI ArmEnableSWPInstruction (VOID)
 
UINTN EFIAPI ArmReadCbar (VOID)
 
UINTN EFIAPI ArmReadTpidrurw (VOID)
 
VOID EFIAPI ArmWriteTpidrurw (UINTN Value)
 
UINT32 EFIAPI ArmReadNsacr (VOID)
 
VOID EFIAPI ArmWriteNsacr (IN UINT32 Nsacr)
 

Detailed Description

Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Copyright (c) 2011-2021, Arm Limited. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file AArch32.h.

Macro Definition Documentation

◆ ARM_ARCH_EXCEPTION_IRQ

#define ARM_ARCH_EXCEPTION_IRQ   EXCEPT_ARM_IRQ

Definition at line 16 of file AArch32.h.

◆ ARM_CPU_REV

#define ARM_CPU_REV (   rn,
  pn 
)    ((((rn) & 0xF) << 20) | ((pn) & 0xF))

Definition at line 82 of file AArch32.h.

◆ ARM_CPU_REV_MASK

#define ARM_CPU_REV_MASK   ((0xF << 20) | (0xF) )

Definition at line 81 of file AArch32.h.

◆ ARM_CPU_TYPE_A12

#define ARM_CPU_TYPE_A12   0xC0D

Definition at line 76 of file AArch32.h.

◆ ARM_CPU_TYPE_A15

#define ARM_CPU_TYPE_A15   0xC0F

Definition at line 75 of file AArch32.h.

◆ ARM_CPU_TYPE_A5

#define ARM_CPU_TYPE_A5   0xC05

Definition at line 79 of file AArch32.h.

◆ ARM_CPU_TYPE_A53

#define ARM_CPU_TYPE_A53   0xD03

Definition at line 73 of file AArch32.h.

◆ ARM_CPU_TYPE_A57

#define ARM_CPU_TYPE_A57   0xD07

Definition at line 74 of file AArch32.h.

◆ ARM_CPU_TYPE_A7

#define ARM_CPU_TYPE_A7   0xC07

Definition at line 78 of file AArch32.h.

◆ ARM_CPU_TYPE_A9

#define ARM_CPU_TYPE_A9   0xC09

Definition at line 77 of file AArch32.h.

◆ ARM_CPU_TYPE_AEMV8

#define ARM_CPU_TYPE_AEMV8   0xD0F

Definition at line 72 of file AArch32.h.

◆ ARM_CPU_TYPE_MASK

#define ARM_CPU_TYPE_MASK   0xFFF

Definition at line 71 of file AArch32.h.

◆ ARM_CPU_TYPE_SHIFT

#define ARM_CPU_TYPE_SHIFT   4

Definition at line 70 of file AArch32.h.

◆ ARM_PFR1_GIC

#define ARM_PFR1_GIC   (0xFUL << 28)

Definition at line 21 of file AArch32.h.

◆ ARM_PFR1_SEC

#define ARM_PFR1_SEC   (0xFUL << 4)

Definition at line 19 of file AArch32.h.

◆ ARM_PFR1_TIMER

#define ARM_PFR1_TIMER   (0xFUL << 16)

Definition at line 20 of file AArch32.h.

◆ ARM_VECTOR_TABLE_ALIGNMENT

#define ARM_VECTOR_TABLE_ALIGNMENT   ((1 << 5)-1)

Definition at line 84 of file AArch32.h.

◆ CPACR_ASEDIS

#define CPACR_ASEDIS   (1 << 31)

Definition at line 48 of file AArch32.h.

◆ CPACR_CP_DENIED

#define CPACR_CP_DENIED (   cp)    0x00

Definition at line 45 of file AArch32.h.

◆ CPACR_CP_FULL

#define CPACR_CP_FULL (   cp)    ((0x3 << ((cp) << 1)) & 0x0FFFFFFF)

Definition at line 47 of file AArch32.h.

◆ CPACR_CP_FULL_ACCESS

#define CPACR_CP_FULL_ACCESS   0x0FFFFFFF

Definition at line 50 of file AArch32.h.

◆ CPACR_CP_PRIV

#define CPACR_CP_PRIV (   cp)    ((0x1 << ((cp) << 1)) & 0x0FFFFFFF)

Definition at line 46 of file AArch32.h.

◆ CPACR_D32DIS

#define CPACR_D32DIS   (1 << 30)

Definition at line 49 of file AArch32.h.

◆ CPSR_ASYNC_ABORT

#define CPSR_ASYNC_ABORT   (1 << 8)

Definition at line 40 of file AArch32.h.

◆ CPSR_FIQ

#define CPSR_FIQ   (1 << 6)

Definition at line 42 of file AArch32.h.

◆ CPSR_IRQ

#define CPSR_IRQ   (1 << 7)

Definition at line 41 of file AArch32.h.

◆ CPSR_MODE_ABORT

#define CPSR_MODE_ABORT   0x17

Definition at line 35 of file AArch32.h.

◆ CPSR_MODE_FIQ

#define CPSR_MODE_FIQ   0x11

Definition at line 32 of file AArch32.h.

◆ CPSR_MODE_HYP

#define CPSR_MODE_HYP   0x1A

Definition at line 36 of file AArch32.h.

◆ CPSR_MODE_IRQ

#define CPSR_MODE_IRQ   0x12

Definition at line 33 of file AArch32.h.

◆ CPSR_MODE_MASK

#define CPSR_MODE_MASK   0x1F

Definition at line 39 of file AArch32.h.

◆ CPSR_MODE_SVC

#define CPSR_MODE_SVC   0x13

Definition at line 34 of file AArch32.h.

◆ CPSR_MODE_SYSTEM

#define CPSR_MODE_SYSTEM   0x1F

Definition at line 38 of file AArch32.h.

◆ CPSR_MODE_UNDEFINED

#define CPSR_MODE_UNDEFINED   0x1B

Definition at line 37 of file AArch32.h.

◆ CPSR_MODE_USER

#define CPSR_MODE_USER   0x10

Definition at line 31 of file AArch32.h.

◆ DOMAIN_ACCESS_CONTROL_CLIENT

#define DOMAIN_ACCESS_CONTROL_CLIENT (   a)    (1UL << (2 * (a)))

Definition at line 26 of file AArch32.h.

◆ DOMAIN_ACCESS_CONTROL_MANAGER

#define DOMAIN_ACCESS_CONTROL_MANAGER (   a)    (3UL << (2 * (a)))

Definition at line 28 of file AArch32.h.

◆ DOMAIN_ACCESS_CONTROL_MASK

#define DOMAIN_ACCESS_CONTROL_MASK (   a)    (3UL << (2 * (a)))

Definition at line 24 of file AArch32.h.

◆ DOMAIN_ACCESS_CONTROL_NONE

#define DOMAIN_ACCESS_CONTROL_NONE (   a)    (0UL << (2 * (a)))

Definition at line 25 of file AArch32.h.

◆ DOMAIN_ACCESS_CONTROL_RESERVED

#define DOMAIN_ACCESS_CONTROL_RESERVED (   a)    (2UL << (2 * (a)))

Definition at line 27 of file AArch32.h.

◆ NSACR_CP

#define NSACR_CP (   cp)    ((1 << (cp)) & 0x3FFF)

Definition at line 53 of file AArch32.h.

◆ NSACR_NS_SMP

#define NSACR_NS_SMP   (1 << 18)

Definition at line 58 of file AArch32.h.

◆ NSACR_NSASEDIS

#define NSACR_NSASEDIS   (1 << 15)

Definition at line 55 of file AArch32.h.

◆ NSACR_NSD32DIS

#define NSACR_NSD32DIS   (1 << 14)

Definition at line 54 of file AArch32.h.

◆ NSACR_PLE

#define NSACR_PLE   (1 << 16)

Definition at line 56 of file AArch32.h.

◆ NSACR_RFR

#define NSACR_RFR   (1 << 19)

Definition at line 59 of file AArch32.h.

◆ NSACR_TL

#define NSACR_TL   (1 << 17)

Definition at line 57 of file AArch32.h.

◆ SCR_AW

#define SCR_AW   (1 << 5)

Definition at line 67 of file AArch32.h.

◆ SCR_EA

#define SCR_EA   (1 << 3)

Definition at line 65 of file AArch32.h.

◆ SCR_FIQ

#define SCR_FIQ   (1 << 2)

Definition at line 64 of file AArch32.h.

◆ SCR_FW

#define SCR_FW   (1 << 4)

Definition at line 66 of file AArch32.h.

◆ SCR_IRQ

#define SCR_IRQ   (1 << 1)

Definition at line 63 of file AArch32.h.

◆ SCR_NS

#define SCR_NS   (1 << 0)

Definition at line 62 of file AArch32.h.