#define CurrentEL __sr_encode(3, 0, 4, 2, 2)
#define ELR_E1 __sr_encode(3, 0, 4, 0, 1)
#define SPSel __sr_encode(3, 0, 4, 2, 0)
+
#define SPSR_EL1 __sr_encode(3, 0, 4, 0, 0)
+#define SPSR_EL2 __sr_encode(3, 4, 4, 0, 0)
+#define SPSR_EL3 __sr_encode(3, 6, 4, 0, 0)
+
#define DAIF_EL1 __sr_encode(3, 3, 4, 2, 1)
#define ALLINT_EL1 __sr_encode(3, 0, 4, 3, 0)
#define SP_EL0 __sr_encode(3, 0, 4, 1, 0)
#define SP_EL1 __sr_encode(3, 4, 4, 1, 0)
+#define FAR_EL1 __sr_encode(3, 0, 6, 0, 0)
+
+#define ID_AA64PFR0_EL1 __sr_encode(3, 0, 0, 4, 0)
+
#ifndef __ASM__
#define read_sysreg(reg) \
({ unsigned long _x; \
#define SCTRL_A (1UL << 1)
#define SCTRL_M (1UL << 0)
+#define sysreg_flagging(reg, set, unset) \
+ ({ \
+ unsigned long _x; \
+ _x = read_sysreg(reg); \
+ _x = (_x & ~(unset)) | (set); \
+ set_sysreg(reg, _x); \
+ _x; \
+ })
+
#endif
#endif /* __LUNAIX_AA64_MSRS_H */