aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2023-12-01 18:28:58 +0000
committerMark Johnston <markj@FreeBSD.org>2023-12-08 14:23:52 +0000
commit4161f141aa798a90da77daacf7c5425a2b99f9b8 (patch)
tree7f4919aba7f883899f4ff76262a39e1e33594f1b
parent44600eb7e231b0cc6c36d10031d983051cd683ee (diff)
downloadsrc-4161f141aa798a90da77daacf7c5425a2b99f9b8.tar.gz
src-4161f141aa798a90da77daacf7c5425a2b99f9b8.zip
arm64: Add register definitions for MDCR_EL2
This is needed to support the bhyve gdb stub implementation on arm64. Reviewed by: andrew MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D42867 (cherry picked from commit 4f12883c360dbb03562f11713e711e3a3a330a0f)
-rw-r--r--sys/arm64/include/hypervisor.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h
index 109169601c83..589d6e9cbdbe 100644
--- a/sys/arm64/include/hypervisor.h
+++ b/sys/arm64/include/hypervisor.h
@@ -232,4 +232,22 @@
/* Assumed to be 0 by locore.S */
#define VTTBR_HOST 0x0000000000000000
+/* MDCR_EL2 - Hyp Debug Control Register */
+#define MDCR_EL2_HPMN_MASK 0x1f
+#define MDCR_EL2_HPMN_SHIFT 0
+#define MDCR_EL2_TPMCR_SHIFT 5
+#define MDCR_EL2_TPMCR (0x1UL << MDCR_EL2_TPMCR_SHIFT)
+#define MDCR_EL2_TPM_SHIFT 6
+#define MDCR_EL2_TPM (0x1UL << MDCR_EL2_TPM_SHIFT)
+#define MDCR_EL2_HPME_SHIFT 7
+#define MDCR_EL2_HPME (0x1UL << MDCR_EL2_HPME_SHIFT)
+#define MDCR_EL2_TDE_SHIFT 8
+#define MDCR_EL2_TDE (0x1UL << MDCR_EL2_TDE_SHIFT)
+#define MDCR_EL2_TDA_SHIFT 9
+#define MDCR_EL2_TDA (0x1UL << MDCR_EL2_TDA_SHIFT)
+#define MDCR_EL2_TDOSA_SHIFT 10
+#define MDCR_EL2_TDOSA (0x1UL << MDCR_EL2_TDOSA_SHIFT)
+#define MDCR_EL2_TDRA_SHIFT 11
+#define MDCR_EL2_TDRA (0x1UL << MDCR_EL2_TDRA_SHIFT)
+
#endif /* !_MACHINE_HYPERVISOR_H_ */