Changeset 99376 in vbox
- Timestamp:
- Apr 12, 2023 7:35:08 AM (20 months ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpumctx-armv8.h
r99051 r99376 139 139 /** The ELR (Exception Link Register) (EL1 only). */ 140 140 CPUMCTXSYSREG Elr; 141 141 /** The SCTLR_EL1 register. */ 142 CPUMCTXSYSREG Sctlr; 143 /** The TTBR0_EL1 register. */ 144 CPUMCTXSYSREG Ttbr0; 145 /** The TTBR1_EL1 register. */ 146 CPUMCTXSYSREG Ttbr1; 142 147 143 148 /** Floating point control register. */ … … 153 158 uint64_t fExtrn; 154 159 155 uint64_t au64Padding1[ 6];160 uint64_t au64Padding1[3]; 156 161 } CPUMCTX; 157 162 … … 187 192 /** The PSTATE value is kept externally. */ 188 193 #define CPUMCTX_EXTRN_PSTATE UINT64_C(0x0000000000000040) 189 /** @todo RSVD. */190 #define CPUMCTX_EXTRN_ RSVDUINT64_C(0x0000000000000080)194 /** The SCTRL_EL1/TTBR<x>_EL1 system registers are kept externally. */ 195 #define CPUMCTX_EXTRN_SCTLR_TTBR UINT64_C(0x0000000000000080) 191 196 192 197 /** The X0 register value is kept externally. */ -
trunk/include/VBox/vmm/dbgf.h
r99070 r99376 2155 2155 DBGFREG_ARMV8_SPSR_EL1, 2156 2156 DBGFREG_ARMV8_SPSR_EL2, 2157 DBGFREG_ARMV8_SCTLR_EL1, 2158 DBGFREG_ARMV8_TTBR0_EL1, 2159 DBGFREG_ARMV8_TTBR1_EL1, 2157 2160 DBGFREG_ARMV8_PSTATE = DBGFREG_ARMV8_SPSR_EL2, 2158 2161 DBGFREG_ARMV8_ELR_EL1, -
trunk/src/VBox/VMM/VMMR3/CPUMDbg-armv8.cpp
r99070 r99376 275 275 CPU_REG_RW_AS("sp_el1", SP_EL1, U64, aSpReg[1], cpumR3RegGet_Generic, cpumR3RegSet_Generic, NULL, NULL ), 276 276 CPU_REG_RW_AS("spsr_el1", SPSR_EL1, U64, Spsr, cpumR3RegGet_Generic, cpumR3RegSet_Generic, NULL, NULL ), 277 CPU_REG_RW_AS("sctlr_el1", SCTLR_EL1, U64, Sctlr, cpumR3RegGet_Generic, cpumR3RegSet_Generic, NULL, NULL ), 278 CPU_REG_RW_AS("ttbr0_el1", TTBR0_EL1, U64, Ttbr0, cpumR3RegGet_Generic, cpumR3RegSet_Generic, NULL, NULL ), 279 CPU_REG_RW_AS("ttbr1_el1", TTBR1_EL1, U64, Ttbr1, cpumR3RegGet_Generic, cpumR3RegSet_Generic, NULL, NULL ), 277 280 CPU_REG_RW_AS("elr_el1", ELR_EL1, U64, Elr, cpumR3RegGet_Generic, cpumR3RegSet_Generic, NULL, NULL ), 278 281 CPU_REG_RW_AS("fpcr", FPCR, U64, fpcr, cpumR3RegGet_Generic, cpumR3RegSet_Generic, NULL, NULL ), -
trunk/src/VBox/VMM/VMMR3/NEMR3Native-darwin-armv8.cpp
r99197 r99376 177 177 } s_aCpumSysRegs[] = 178 178 { 179 { HV_SYS_REG_SP_EL0, CPUMCTX_EXTRN_SP, RT_UOFFSETOF(CPUMCTX, aSpReg[0].u64) }, 180 { HV_SYS_REG_SP_EL1, CPUMCTX_EXTRN_SP, RT_UOFFSETOF(CPUMCTX, aSpReg[1].u64) }, 181 { HV_SYS_REG_SPSR_EL1, CPUMCTX_EXTRN_SPSR, RT_UOFFSETOF(CPUMCTX, Spsr.u64) }, 182 { HV_SYS_REG_ELR_EL1, CPUMCTX_EXTRN_ELR, RT_UOFFSETOF(CPUMCTX, Elr.u64) }, 179 { HV_SYS_REG_SP_EL0, CPUMCTX_EXTRN_SP, RT_UOFFSETOF(CPUMCTX, aSpReg[0].u64) }, 180 { HV_SYS_REG_SP_EL1, CPUMCTX_EXTRN_SP, RT_UOFFSETOF(CPUMCTX, aSpReg[1].u64) }, 181 { HV_SYS_REG_SPSR_EL1, CPUMCTX_EXTRN_SPSR, RT_UOFFSETOF(CPUMCTX, Spsr.u64) }, 182 { HV_SYS_REG_ELR_EL1, CPUMCTX_EXTRN_ELR, RT_UOFFSETOF(CPUMCTX, Elr.u64) }, 183 { HV_SYS_REG_SCTLR_EL1, CPUMCTX_EXTRN_SCTLR_TTBR, RT_UOFFSETOF(CPUMCTX, Sctlr.u64) }, 184 { HV_SYS_REG_TTBR0_EL1, CPUMCTX_EXTRN_SCTLR_TTBR, RT_UOFFSETOF(CPUMCTX, Ttbr0.u64) }, 185 { HV_SYS_REG_TTBR1_EL1, CPUMCTX_EXTRN_SCTLR_TTBR, RT_UOFFSETOF(CPUMCTX, Ttbr1.u64) }, 183 186 }; 184 187 … … 416 419 "pc=%016VR{pc} pstate=%016VR{pstate}\n" 417 420 "sp_el0=%016VR{sp_el0} sp_el1=%016VR{sp_el1} elr_el1=%016VR{elr_el1}\n" 421 "sctlr_el1=%016VR{sctlr_el1} ttbr0_el1=%016VR{ttbr0_el1} ttbr1_el1=%016VR{ttbr1_el1}\n" 418 422 ); 419 423 char szInstr[256]; RT_ZERO(szInstr); … … 458 462 459 463 if ( hrc == HV_SUCCESS 460 && (fWhat & (CPUMCTX_EXTRN_SPSR | CPUMCTX_EXTRN_ELR | CPUMCTX_EXTRN_SP )))464 && (fWhat & (CPUMCTX_EXTRN_SPSR | CPUMCTX_EXTRN_ELR | CPUMCTX_EXTRN_SP | CPUMCTX_EXTRN_SCTLR_TTBR))) 461 465 { 462 466 /* System registers. */
Note:
See TracChangeset
for help on using the changeset viewer.