aa64: finalise context switch, page fault handler and syscall
[lunaix-os.git] / lunaix-os / arch / aarch64 / includes / asm / aa64_spsr.h
index 8b5b46fae92cb6cbb2785470211932204fbbbfa5..dfe770bc5eeb02180808af1da4ced5d4f51e8d32 100644 (file)
@@ -5,7 +5,17 @@
 #include <lunaix/bits.h>
 
 #define SPSR_EL          BITFIELD(3, 2)
-#define SPSR_SP          BIT(0)
+
+#define SPSR_SP          BITFLAG(0)
+#define SPSR_F           BITFLAG(6)
+#define SPSR_I           BITFLAG(7)
+#define SPSR_A           BITFLAG(8)
+#define SPSR_AllInt      BITFLAG(13)
+#define SPSR_PAN         BITFLAG(22)
+#define SPSR_UAO         BITFLAG(23)
+
+#define SPSR_EL0_preset  (BITS_AT(0, SPSR_EL) | SPSR_SP)
+#define SPSR_EL1_preset  (BITS_AT(1, SPSR_EL) | SPSR_SP | SPSR_UAO)
 
 static inline bool
 spsr_from_el0(reg_t spsr)