30 asm volatile (
"mrs %0, sctlr_el1" :
"=r" (r));
34 asm volatile (
"mrs %0, cntfrq_el0" :
"=r" (r));
38 asm volatile (
"mrs %0, id_aa64mmfr0_el1" :
"=r" (r));
42 asm volatile (
"mrs %0, cntpct_el0" :
"=r" (r));
46 asm volatile (
"mrs %0, cntp_tval_el0" :
"=r" (r));
50 asm volatile (
"mrs %0, cntp_ctl_el0" :
"=r" (r));
54 asm volatile (
"mrs %0, DAIF" :
"=r" (r));
67 asm volatile (
"msr sctlr_el1, %0" : :
"r" (value));
71 asm volatile (
"msr ttbr0_el1, %0" : :
"r" (value));
75 asm volatile (
"msr ttbr1_el1, %0" : :
"r" (value));
79 asm volatile (
"msr tcr_el1, %0; isb" : :
"r" (value));
83 asm volatile (
"msr vbar_el1, %0" : :
"r" (value));
87 asm volatile (
"msr mair_el1, %0" : :
"r" (value));
91 asm volatile (
"msr cntp_tval_el0, %0" : :
"r" (value));
95 asm volatile (
"msr cntp_ctl_el0, %0" : :
"r" (value));
unsigned long long u64
Unsigned 64-bit number.
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.
void unset(Register reg, u64 flags)
Register
System Control Registers.
void set(Register reg, u64 flags)