10#define ARM64_MIDR_EL1 ARM64_SYSREG(3, 0, 0, 0, 0)
11#define ARM64_MPIDR_EL1 ARM64_SYSREG(3, 0, 0, 0, 5)
12#define ARM64_ID_AA64PFR0_EL1 ARM64_SYSREG(3, 0, 0, 4, 0)
13#define ARM64_ID_AA64DFR0_EL1 ARM64_SYSREG(3, 0, 0, 5, 0)
14#define ARM64_ID_AA64ISAR0_EL1 ARM64_SYSREG(3, 0, 0, 6, 0)
15#define ARM64_ID_AA64MMFR0_EL1 ARM64_SYSREG(3, 0, 0, 7, 0)
16#define ARM64_CTR_EL0 ARM64_SYSREG(3, 3, 0, 0, 1)
17#define ARM64_SCTLR_EL1 ARM64_SYSREG(3, 0, 1, 0, 0)
18#define ARM64_CPACR_EL1 ARM64_SYSREG(3, 0, 1, 0, 2)
19#define ARM64_TTBR0_EL1 ARM64_SYSREG(3, 0, 2, 0, 0)
20#define ARM64_TTBR1_EL1 ARM64_SYSREG(3, 0, 2, 0, 1)
21#define ARM64_TCR_EL1 ARM64_SYSREG(3, 0, 2, 0, 2)
22#define ARM64_DAIF ARM64_SYSREG(3, 3, 4, 2, 1)
23#define ARM64_ESR_EL1 ARM64_SYSREG(3, 0, 5, 2, 0)
24#define ARM64_FAR_EL1 ARM64_SYSREG(3, 0, 6, 0, 0)
25#define ARM64_PAR_EL1 ARM64_SYSREG(3, 0, 7, 4, 0)
26#define ARM64_MAIR_EL1 ARM64_SYSREG(3, 0, 10, 2, 0)
27#define ARM64_VBAR_EL1 ARM64_SYSREG(3, 0, 12, 0, 0)
28#define ARM64_CONTEXTIDR_EL1 ARM64_SYSREG(3, 0, 13, 0, 1)
29#define ARM64_TPIDR_EL1 ARM64_SYSREG(3, 0, 13, 0, 4)
30#define ARM64_TPIDRRO_EL0_REG ARM64_SYSREG(3, 3, 13, 0, 3)
31#define ARM64_CNTFRQ_EL0 ARM64_SYSREG(3, 3, 14, 0, 0)
32#define ARM64_CNTV_TVAL_EL0 ARM64_SYSREG(3, 3, 14, 3, 0)
33#define ARM64_CNTV_CTL_EL0 ARM64_SYSREG(3, 3, 14, 3, 1)
34#define ARM64_CNTV_CVAL_EL0 ARM64_SYSREG(3, 3, 14, 3, 2)
35#define ARM64_CNTKCTL_EL1 ARM64_SYSREG(3, 0, 14, 1, 0)
38#define ARM64_PSR_F 0x40
39#define ARM64_PSR_I 0x80
40#define ARM64_PSR_A 0x100
41#define ARM64_PSR_D 0x200
42#define ARM64_PSR_MODE_MASK 0xF
43#define ARM64_PSR_MODE_EL0T 0x0
44#define ARM64_PSR_MODE_EL1H 0x5
46#define KeArm64ReadRegister(Register) ((ULONG64)_ReadStatusReg(Register))
47#define KeArm64WriteRegister(Register, Value) _WriteStatusReg((Register), (__int64)(Value))
FORCEINLINE VOID KeSetCurrentIrql(KIRQL Irql)
VOID NTAPI KeArm64FlushTbEntry(_In_ PVOID Address)
VOID NTAPI KeArm64SweepIcacheRange(_In_ PVOID BaseAddress, _In_ SIZE_T Length)
VOID NTAPI KeArm64WaitForInterrupt(VOID)
VOID NTAPI KeArm64FlushTbAll(VOID)
VOID NTAPI KeArm64SweepDcacheRange(_In_ PVOID BaseAddress, _In_ SIZE_T Length)
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize _Pre_valid_ PVOID * BaseAddress
_In_ ULONG _In_ ULONG _In_ ULONG Length