Page MenuHomeFreeBSD

D56550.id175973.diff
No OneTemporary

D56550.id175973.diff

diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h
--- a/sys/arm64/include/hypervisor.h
+++ b/sys/arm64/include/hypervisor.h
@@ -2110,6 +2110,14 @@
#define VMPIDR_EL2_MT 0x0000000001000000
#define VMPIDR_EL2_RES1 0x0000000080000000
+/* VNCR_EL2 - Virtual Nested Control Register */
+#define VNCR_EL2_REG MRS_REG_ALT_NAME(VNCR_EL2)
+#define VNCR_EL2_op0 3
+#define VNCR_EL2_op1 4
+#define VNCR_EL2_CRn 2
+#define VNCR_EL2_CRm 2
+#define VNCR_EL2_op2 0
+
/* VTCR_EL2 - Virtualization Translation Control Register */
#define VTCR_EL2_RES1 (0x1UL << 31)
#define VTCR_EL2_T0SZ_SHIFT 0
@@ -2151,4 +2159,97 @@
/* Assumed to be 0 by locore.S */
#define VTTBR_HOST 0x0000000000000000
+/*
+ * Memory offsets of registers redirected to memory by HCR_EL2.NV2
+ * relative to the base address stored in VNCR_EL2.
+ */
+#define VNCR_VTTBR_EL2 0x20
+#define VNCR_VSTTBR_EL2 0x30
+#define VNCR_VTCR_EL2 0x40
+#define VNCR_VSTCR_EL2 0x48
+#define VNCR_VMPIDR_EL2 0x50
+#define VNCR_CNTVOFF_EL2 0x60
+#define VNCR_HCR_EL2 0x78
+#define VNCR_HSTR_EL2 0x80
+#define VNCR_VPIDR_EL2 0x88
+#define VNCR_TPIDR_EL2 0x90
+#define VNCR_HCRX_EL2 0xA0
+#define VNCR_VNCR_EL2 0xB0
+#define VNCR_CPACR_EL1 0x100 /* Architectural Feature Access Control Register */
+#define VNCR_CONTEXTIDR_EL1 0x108 /* Current Process Identifier */
+#define VNCR_SCTLR_EL1 0x110 /* System Control Register */
+#define VNCR_ACTLR_EL1 0x118 /* Auxiliary Control Register */
+#define VNCR_TCR_EL1 0x120 /* Translation Control Register */
+#define VNCR_AFSR0_EL1 0x128 /* Auxiliary Fault Status Register 0 */
+#define VNCR_AFSR1_EL1 0x130 /* Auxiliary Fault Status Register 1 */
+#define VNCR_ESR_EL1 0x138 /* Exception Syndrome Register */
+#define VNCR_MAIR_EL1 0x140 /* Memory Attribute Indirection Register */
+#define VNCR_AMAIR_EL1 0x148 /* Auxiliary Memory Attribute Indirection Register */
+#define VNCR_MDSCR_EL1 0x158 /* Monitor Debug System Control Register */
+#define VNCR_SPSR_EL1 0x160 /* Saved Program Status Register */
+#define VNCR_CNTV_CVAL_EL0 0x168
+#define VNCR_CNTV_CTL_EL0 0x170
+#define VNCR_CNTP_CVAL_EL0 0x178
+#define VNCR_CNTP_CTL_EL0 0x180
+#define VNCR_SCXTNUM_EL1 0x188
+#define VNCR_TFSR_EL1 0x190
+#define VNCR_HDFGRTR2_EL2 0x1A0
+#define VNCR_CNTPOFF_EL2 0x1A8
+#define VNCR_HDFGWTR2_EL2 0x1B0
+#define VNCR_HFGRTR_EL2 0x1B8
+#define VNCR_HFGWTR_EL2 0x1C0
+#define VNCR_HFGITR_EL2 0x1C8
+#define VNCR_HDFGRTR_EL2 0x1D0
+#define VNCR_HDFGWTR_EL2 0x1D8
+#define VNCR_ZCR_EL1 0x1E0
+#define VNCR_HAFGRTR_EL2 0x1E8
+#define VNCR_SMCR_EL1 0x1F0
+#define VNCR_SMPRIMAP_EL2 0x1F8
+#define VNCR_TTBR0_EL1 0x200 /* Translation Table Base Register 0 */
+#define VNCR_TTBR1_EL1 0x210 /* Translation Table Base Register 1 */
+#define VNCR_FAR_EL1 0x220 /* Fault Address Register */
+#define VNCR_ELR_EL1 0x230 /* Exception Link Register */
+#define VNCR_SP_EL1 0x240
+#define VNCR_VBAR_EL1 0x250 /* Vector Base Address Register */
+#define VNCR_TCR2_EL1 0x270 /* Translation Control Register 2 */
+#define VNCR_SCTLR2_EL1 0x278
+#define VNCR_MAIR2_EL1 0x280
+#define VNCR_AMAIR2_EL1 0x288
+#define VNCR_PIRE0_EL1 0x290
+#define VNCR_PIRE0_EL2 0x298
+#define VNCR_PIR_EL1 0x2A0
+#define VNCR_POR_EL1 0x2A8
+#define VNCR_S2PIR_EL2 0x2B0
+#define VNCR_S2POR_EL1 0x2B8
+#define VNCR_HFGRTR2_EL2 0x2C0
+#define VNCR_HFGWTR2_EL2 0x2C8
+#define VNCR_PFAR_EL1 0x2D0
+#define VNCR_HFGITR2_EL2 0x310
+#define VNCR_SCTLRMASK_EL1 0x318
+#define VNCR_CPACRMASK_EL1 0x320
+#define VNCR_SCTLR2MASK_EL1 0x328
+#define VNCR_TCRMASK_EL1 0x330
+#define VNCR_TCR2MASK_EL1 0x338
+#define VNCR_ACTLRMASK_EL1 0x340
+#define VNCR_ICH_HCR_EL2 0x4C0
+#define VNCR_ICH_VMCR_EL2 0x4C8
+#define VNCR_VDISR_EL2 0x500
+#define VNCR_VSESR_EL2 0x508
+#define VNCR_PMBLIMITR_EL1 0x800
+#define VNCR_PMBPTR_EL1 0x810
+#define VNCR_PMBSR_EL1 0x820
+#define VNCR_PMSCR_EL1 0x828
+#define VNCR_PMSEVFR_EL1 0x830
+#define VNCR_PMSICR_EL1 0x838
+#define VNCR_PMSIRR_EL1 0x840
+#define VNCR_PMSLATFR_EL1 0x848
+#define VNCR_PMSNEVFR_EL1 0x850
+#define VNCR_PMSDSFR_EL1 0x858
+#define VNCR_TRFCR_EL1 0x880
+#define VNCR_TRCITECR_EL1 0x888
+#define VNCR_GCSPR_EL1 0x8C0
+#define VNCR_GCSCR_EL1 0x8D0
+#define VNCR_BRBCR_EL1 0x8E0
+#define VNCR_SPMACCESSR_EL1 0x8E8
+
#endif /* !_MACHINE_HYPERVISOR_H_ */

File Metadata

Mime Type
text/plain
Expires
Thu, Jul 2, 5:05 AM (20 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31972573
Default Alt Text
D56550.id175973.diff (4 KB)

Event Timeline