- Timestamp:
- Jul 30, 2012 10:39:27 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 79604
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/TRPMAll.cpp
r42186 r42463 375 375 376 376 switch (iGate) { 377 case 14:377 case X86_XCPT_PF: 378 378 if (pRegFrame->eip == pVCpu->trpm.s.uActiveCR2) 379 379 { 380 int rc;381 380 RTGCPTR pCallerGC; 382 381 # ifdef IN_RC 383 rc = MMGCRamRead(pVM, &pCallerGC, (void *)pRegFrame->esp, sizeof(pCallerGC));382 int rc = MMGCRamRead(pVM, &pCallerGC, (void *)pRegFrame->esp, sizeof(pCallerGC)); 384 383 # else 385 rc = PGMPhysSimpleReadGCPtr(pVCpu, &pCallerGC, (RTGCPTR)pRegFrame->esp, sizeof(pCallerGC));384 int rc = PGMPhysSimpleReadGCPtr(pVCpu, &pCallerGC, (RTGCPTR)pRegFrame->esp, sizeof(pCallerGC)); 386 385 # endif 387 386 if (RT_SUCCESS(rc)) … … 389 388 } 390 389 /* no break */ 391 case 8:392 case 10:393 case 11:394 case 12:395 case 13:396 case 17:390 case X86_XCPT_DF: 391 case X86_XCPT_TS: 392 case X86_XCPT_NP: 393 case X86_XCPT_SS: 394 case X86_XCPT_GP: 395 case X86_XCPT_AC: 397 396 Assert(enmError == TRPM_TRAP_HAS_ERRORCODE || enmType == TRPM_SOFTWARE_INT); 398 397 break; … … 674 673 675 674 /* Make sure the internal guest context structure is up-to-date. */ 676 CPUMSetGuestCR2(pVCpu, pVCpu->trpm.s.uActiveCR2); 675 if (iGate == X86_XCPT_PF) 676 CPUMSetGuestCR2(pVCpu, pVCpu->trpm.s.uActiveCR2); 677 677 678 678 #ifdef IN_RC 679 /* Note: shouldn't be necessary */680 ASMSetCR2(pVCpu->trpm.s.uActiveCR2);681 682 679 /* Turn off interrupts for interrupt gates. */ 683 680 if (GuestIdte.Gen.u5Type2 == VBOX_IDTE_TYPE2_INT_32)
Note:
See TracChangeset
for help on using the changeset viewer.