Changeset 107227 in vbox for trunk/src/VBox/VMM/VMMR3/EMR3Nem.cpp
- Timestamp:
- Dec 4, 2024 3:20:14 PM (6 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EMR3Nem.cpp
r107194 r107227 97 97 return VINF_EM_RESCHEDULE; 98 98 99 #if defined(VBOX_VMM_TARGET_ARMV8) 100 uint64_t const uOldPc = pVCpu->cpum.GstCtx.Pc.u64; 99 #ifdef VBOX_VMM_TARGET_ARMV8 100 uint64_t const uOldPc = pVCpu->cpum.GstCtx.Pc.u64; 101 #elif defined(VBOX_VMM_TARGET_X86) 102 uint64_t const uOldRip = pVCpu->cpum.GstCtx.rip; 101 103 #else 102 uint64_t const uOldRip = pVCpu->cpum.GstCtx.rip; 104 # error "port me" 103 105 #endif 104 106 for (;;) … … 147 149 * Done? 148 150 */ 149 #if defined(VBOX_VMM_TARGET_ARMV8)151 #ifdef VBOX_VMM_TARGET_ARMV8 150 152 CPUM_ASSERT_NOT_EXTRN(pVCpu, CPUMCTX_EXTRN_PC); 151 153 if ( (rcStrict != VINF_SUCCESS && rcStrict != VINF_EM_DBG_STEPPED) … … 160 162 return rcStrict; 161 163 } 162 #else 164 165 #elif defined(VBOX_VMM_TARGET_X86) 163 166 CPUM_ASSERT_NOT_EXTRN(pVCpu, CPUMCTX_EXTRN_RIP); 164 167 if ( (rcStrict != VINF_SUCCESS && rcStrict != VINF_EM_DBG_STEPPED) … … 173 176 return rcStrict; 174 177 } 178 179 #else 180 # error "port me" 175 181 #endif 176 182 } … … 201 207 * Log it. 202 208 */ 203 # ifdef VBOX_VMM_TARGET_ARMV8209 # ifdef VBOX_VMM_TARGET_ARMV8 204 210 Log(("EMINS: %RGv SP_EL0=%RGv SP_EL1=%RGv\n", (RTGCPTR)pVCpu->cpum.GstCtx.Pc.u64, 205 (RTGCPTR)pVCpu->cpum.GstCtx.aSpReg[0].u64, 206 (RTGCPTR)pVCpu->cpum.GstCtx.aSpReg[1].u64)); 211 (RTGCPTR)pVCpu->cpum.GstCtx.aSpReg[0].u64, (RTGCPTR)pVCpu->cpum.GstCtx.aSpReg[1].u64)); 207 212 if (pszPrefix) 208 213 { … … 210 215 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, pszPrefix); 211 216 } 212 # el se217 # elif defined(VBOX_VMM_TARGET_X86) 213 218 Log(("EMINS: %04x:%RGv RSP=%RGv\n", pVCpu->cpum.GstCtx.cs.Sel, (RTGCPTR)pVCpu->cpum.GstCtx.rip, (RTGCPTR)pVCpu->cpum.GstCtx.rsp)); 214 219 if (pszPrefix) … … 217 222 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, pszPrefix); 218 223 } 224 # else 225 # error "port me" 219 226 # endif 220 227 #endif … … 375 382 #ifdef VBOX_VMM_TARGET_ARMV8 376 383 LogFlow(("emR3NemExecute%d: (pc=%RGv)\n", pVCpu->idCpu, (RTGCPTR)pVCpu->cpum.GstCtx.Pc.u64)); 384 #elif defined(VBOX_VMM_TARGET_X86) 385 LogFlow(("emR3NemExecute%d: (cs:eip=%04x:%RGv)\n", pVCpu->idCpu, pVCpu->cpum.GstCtx.cs.Sel, (RTGCPTR)pVCpu->cpum.GstCtx.rip)); 377 386 #else 378 LogFlow(("emR3NemExecute%d: (cs:eip=%04x:%RGv)\n", pVCpu->idCpu, pVCpu->cpum.GstCtx.cs.Sel, (RTGCPTR)pVCpu->cpum.GstCtx.rip)); 387 # error "port me" 379 388 #endif 380 389 *pfFFDone = false; … … 411 420 } 412 421 413 #if defined(LOG_ENABLED) && !defined(VBOX_VMM_TARGET_ARMV8)422 #ifdef LOG_ENABLED 414 423 /* 415 424 * Log important stuff before entering GC. 416 425 */ 426 # ifdef VBOX_VMM_TARGET_X86 417 427 if (TRPMHasTrap(pVCpu)) 418 428 Log(("CPU%d: Pending hardware interrupt=0x%x cs:rip=%04X:%RGv\n", pVCpu->idCpu, TRPMGetTrapNo(pVCpu), pVCpu->cpum.GstCtx.cs.Sel, (RTGCPTR)pVCpu->cpum.GstCtx.rip)); … … 441 451 } 442 452 } 453 # elif defined(VBOX_VMM_TARGET_ARMV8) 454 if (!(pVCpu->cpum.GstCtx.fExtrn & CPUMCTX_EXTRN_PC)) 455 { 456 /** @todo better logging */ 457 if (pVM->cCpus == 1) 458 Log(("NEM: %RX64\n", pVCpu->cpum.GstCtx.Pc.u64)); 459 else 460 Log(("NEM-CPU%d: %RX64\n", pVCpu->idCpu, pVCpu->cpum.GstCtx.Pc.u64)); 461 } 462 # else 463 # error "port me" 464 # endif 443 465 else if (pVM->cCpus == 1) 444 466 Log(("NEMRx: -> NEMR3RunGC\n")); 445 467 else 446 Log(("NEMRx-CPU%u: -> NEMR3RunGC\n", 468 Log(("NEMRx-CPU%u: -> NEMR3RunGC\n", pVCpu->idCpu)); 447 469 #endif /* LOG_ENABLED */ 448 470
Note:
See TracChangeset
for help on using the changeset viewer.