19#ifndef __ARM64_CONTROL_H
20#define __ARM64_CONTROL_H
149#define PA_RANGE(r) ((r)&0xF)
150#define TGRAN4(r) (((r)>>28)&0xF)
152#define tlb_invalidate(virt) \
154 asm volatile ("dsb ishst\n"\
155 "tlbi vaae1is, %0\n" \
157 "isb" : : "r" (virt>>12UL) );\
163#define isb() { asm volatile ("isb" ::: "memory"); }
173#define dsb(type) { asm volatile ("dsb "#type ::: "memory"); }
184#define dmb() { asm volatile ("dmb sy" ::: "memory"); }
186#define enable_interrupt() { asm volatile ("msr daifclr, #2") ; }
187#define disable_interrupt() { asm volatile ("msr daifset, #2") ; }
207#define cpu_shutdown()
245#define exception_code(esr) (((esr)>>26)&0x3f)
unsigned long long u64
Unsigned 64-bit number.
#define ALIGN(n)
Aligns a symbol at the given boundary.
ARM64 System Control Coprocessor (CP15).
u64 read(Register reg)
Read a register from the CP15.
void write(Register reg, u64 value)
Write register to the CP15.
DomainControlFlags
Domain Control flags.
AuxControlFlags
Aux Control flags.
Register
System Control Registers.
@ InstructionFaultAddress
void set(Register reg, u64 flags)
Contains all the CPU registers.