1 #ifndef __LUNAIX_AA64_SPSR_H
2 #define __LUNAIX_AA64_SPSR_H
4 #include <lunaix/types.h>
5 #include <lunaix/bits.h>
7 #define SPSR_EL BITFIELD(3, 2)
9 #define SPSR_SP BITFLAG(0)
10 #define SPSR_F BITFLAG(6)
11 #define SPSR_I BITFLAG(7)
12 #define SPSR_A BITFLAG(8)
13 #define SPSR_AllInt BITFLAG(13)
14 #define SPSR_PAN BITFLAG(22)
15 #define SPSR_UAO BITFLAG(23)
17 #define SPSR_EL0_preset (BITS_AT(0, SPSR_EL) | SPSR_SP)
18 #define SPSR_EL1_preset (BITS_AT(1, SPSR_EL) | SPSR_SP | SPSR_UAO)
21 spsr_from_el0(reg_t spsr)
23 return BITS_GET(spsr, SPSR_EL) == 0;
26 #endif /* __LUNAIX_AA64_SPSR_H */