aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2024-02-19 14:57:34 +0000
committerAndrew Turner <andrew@FreeBSD.org>2024-07-15 12:21:29 +0000
commit9f575dadfe149ec14072b63ead9c31eb4e6e5992 (patch)
tree860c1e4635bb8803689f102f639c0d258b690292
parent98768d6870cc30303a80d2d8c888f0daa3f1ad4a (diff)
arm64: Add CurrentEL register definitions
Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D43971 (cherry picked from commit 5e7941b6c979a55dc67baf316db6932c09b14022)
-rw-r--r--sys/arm64/include/armreg.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h
index 953c9af220b9..7b3835474ae5 100644
--- a/sys/arm64/include/armreg.h
+++ b/sys/arm64/include/armreg.h
@@ -190,6 +190,14 @@
#define CTR_ILINE_VAL(reg) ((reg) & CTR_ILINE_MASK)
#define CTR_ILINE_SIZE(reg) (4 << (CTR_ILINE_VAL(reg) >> CTR_ILINE_SHIFT))
+/* CurrentEL - Current Exception Level */
+#define CURRENTEL_EL_SHIFT 2
+#define CURRENTEL_EL_MASK (0x3 << CURRENTEL_EL_SHIFT)
+#define CURRENTEL_EL_EL0 (0x0 << CURRENTEL_EL_SHIFT)
+#define CURRENTEL_EL_EL1 (0x1 << CURRENTEL_EL_SHIFT)
+#define CURRENTEL_EL_EL2 (0x2 << CURRENTEL_EL_SHIFT)
+#define CURRENTEL_EL_EL3 (0x3 << CURRENTEL_EL_SHIFT)
+
/* DAIFSet/DAIFClear */
#define DAIF_D (1 << 3)
#define DAIF_A (1 << 2)