Changeset 45276 in vbox for trunk/src/VBox/VMM/VMMR3/EMRaw.cpp
- Timestamp:
- Apr 2, 2013 8:17:11 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EMRaw.cpp
r44399 r45276 159 159 PCPUMCTX pCtx = pVCpu->em.s.pCtx; 160 160 bool fGuest = pVCpu->em.s.enmState != EMSTATE_DEBUG_HYPER; 161 #ifndef DEBUG_sander vl161 #ifndef DEBUG_sander 162 162 Log(("emR3RawStep: cs:eip=%RTsel:%RGr efl=%RGr\n", fGuest ? CPUMGetGuestCS(pVCpu) : CPUMGetHyperCS(pVCpu), 163 163 fGuest ? CPUMGetGuestEIP(pVCpu) : CPUMGetHyperEIP(pVCpu), fGuest ? CPUMGetGuestEFlags(pVCpu) : CPUMGetHyperEFlags(pVCpu))); … … 196 196 else 197 197 rc = VMMR3RawRunGC(pVM, pVCpu); 198 #ifndef DEBUG_sander vl198 #ifndef DEBUG_sander 199 199 Log(("emR3RawStep: cs:eip=%RTsel:%RGr efl=%RGr - GC rc %Rrc\n", fGuest ? CPUMGetGuestCS(pVCpu) : CPUMGetHyperCS(pVCpu), 200 200 fGuest ? CPUMGetGuestEIP(pVCpu) : CPUMGetHyperEIP(pVCpu), fGuest ? CPUMGetGuestEFlags(pVCpu) : CPUMGetHyperEFlags(pVCpu), rc)); … … 237 237 { 238 238 DBGFR3PrgStep(pVCpu); 239 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, "RSS :");239 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, "RSS"); 240 240 rc = emR3RawStep(pVM, pVCpu); 241 if (rc != VINF_SUCCESS) 241 if ( rc != VINF_SUCCESS 242 && rc != VINF_EM_DBG_STEPPED) 242 243 break; 243 244 } … … 950 951 { 951 952 DBGFR3_INFO_LOG(pVM, "cpumguest", "PRIV"); 952 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, "Privileged instr :");953 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, "Privileged instr"); 953 954 } 954 955 #endif … … 1090 1091 { 1091 1092 DBGFR3_INFO_LOG(pVM, "cpumguest", "PRIV"); 1092 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, "Privileged instr :");1093 DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, "Privileged instr"); 1093 1094 } 1094 1095 #endif … … 1361 1362 Assert(REMR3QueryPendingInterrupt(pVM, pVCpu) == REM_NO_PENDING_IRQ); 1362 1363 # endif 1364 # ifdef VBOX_WITH_RAW_RING1 1365 Assert(pCtx->eflags.Bits.u1VM || (pCtx->ss.Sel & X86_SEL_RPL) == 3 || (pCtx->ss.Sel & X86_SEL_RPL) == 0 || (EMIsRawRing1Enabled(pVM) && (pCtx->ss.Sel & X86_SEL_RPL) == 1)); 1366 # else 1363 1367 Assert(pCtx->eflags.Bits.u1VM || (pCtx->ss.Sel & X86_SEL_RPL) == 3 || (pCtx->ss.Sel & X86_SEL_RPL) == 0); 1368 # endif 1364 1369 AssertMsg( (pCtx->eflags.u32 & X86_EFL_IF) 1365 1370 || PATMShouldUseRawMode(pVM, (RTGCPTR)pCtx->eip), … … 1429 1434 Log(("RV86: %04x:%08x IF=%d VMFlags=%x\n", pCtx->cs.Sel, pCtx->eip, pCtx->eflags.Bits.u1IF, pGCState->uVMFlags)); 1430 1435 else if ((pCtx->ss.Sel & X86_SEL_RPL) == 1) 1431 Log(("RR0: % 08x ESP=%08x EFL=%x IF=%d/%d VMFlags=%x PIF=%d CPL=%d (Scanned=%d)\n",1432 pCtx-> eip, pCtx->esp, CPUMRawGetEFlags(pVCpu), !!(pGCState->uVMFlags & X86_EFL_IF), pCtx->eflags.Bits.u1IF,1436 Log(("RR0: %x:%08x ESP=%x:%08x EFL=%x IF=%d/%d VMFlags=%x PIF=%d CPL=%d (Scanned=%d)\n", 1437 pCtx->cs.Sel, pCtx->eip, pCtx->ss.Sel, pCtx->esp, CPUMRawGetEFlags(pVCpu), !!(pGCState->uVMFlags & X86_EFL_IF), pCtx->eflags.Bits.u1IF, 1433 1438 pGCState->uVMFlags, pGCState->fPIF, (pCtx->ss.Sel & X86_SEL_RPL), CSAMIsPageScanned(pVM, (RTGCPTR)pCtx->eip))); 1439 # ifdef VBOX_WITH_RAW_RING1 1440 else if ((pCtx->ss.Sel & X86_SEL_RPL) == 2) 1441 Log(("RR1: %x:%08x ESP=%x:%08x IF=%d VMFlags=%x CPL=%x\n", pCtx->cs.Sel, pCtx->eip, pCtx->ss.Sel, pCtx->esp, pCtx->eflags.Bits.u1IF, pGCState->uVMFlags, (pCtx->ss.Sel & X86_SEL_RPL))); 1442 # endif 1434 1443 else if ((pCtx->ss.Sel & X86_SEL_RPL) == 3) 1435 Log(("RR3: % 08x ESP=%08x IF=%d VMFlags=%x\n", pCtx->eip, pCtx->esp, pCtx->eflags.Bits.u1IF, pGCState->uVMFlags));1444 Log(("RR3: %x:%08x ESP=%x:%08x IF=%d VMFlags=%x\n", pCtx->cs.Sel, pCtx->eip, pCtx->ss.Sel, pCtx->esp, pCtx->eflags.Bits.u1IF, pGCState->uVMFlags)); 1436 1445 #endif /* LOG_ENABLED */ 1437 1438 1446 1439 1447 … … 1543 1551 || VMCPU_FF_ISPENDING(pVCpu, ~VMCPU_FF_HIGH_PRIORITY_PRE_RAW_MASK)) 1544 1552 { 1545 Assert(pCtx->eflags.Bits.u1VM || ( pCtx->ss.Sel & X86_SEL_RPL) != 1);1553 Assert(pCtx->eflags.Bits.u1VM || (EMIsRawRing1Enabled(pVM) ? ((pCtx->ss.Sel & X86_SEL_RPL) != 2) : ((pCtx->ss.Sel & X86_SEL_RPL) != 1))); 1546 1554 1547 1555 STAM_REL_PROFILE_ADV_SUSPEND(&pVCpu->em.s.StatRAWTotal, a);
Note:
See TracChangeset
for help on using the changeset viewer.