AArch64 Intrinsics

These words do AArch64-specific things.

System Register Access

All of these words are of the form AARCH64/basename@ or AARCH64/basename!. The @ variety has a signature of ( -- u ), the ! variety has a signature of ( u -- ). They correspond to system registers.

Word Base NameRegister
DAIFDAIF
ELR-EL1ELR_EL1
ESR-EL1ESR_EL1
FAR-EL1FAR_EL1
MAIR-EL1MAIR_EL1
SCTLR-EL1SCTLR_EL1
SPSELSPSel
SPSR-EL1SPSR_EL1
TCR-EL1TCR_EL1
TTBR0-EL1TTBR0_EL1
TTBR1-EL1TTBR0_EL1
VBAR-EL1VBAR_EL1

Other Words

AARCH64/EXCEPTION-VECTOR-TABLE

Signature: ( -- addr )

Pushes the address of the kernel-allocated exception vector table to the stack. This is allocated in the kernel so it is guaranteed to have proper alignment, since it needs a rather large one. (In the future, this might change, and it may instead be allocated inside a frame allocated by the standard frame allocator.)