- Timestamp:
- Jul 20, 2018 7:50:17 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 123887
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/PGMAll.cpp
r73268 r73280 2549 2549 PGM_A20_APPLY_TO_VAR(pVCpu, GCPhysCR3); 2550 2550 2551 if (pVCpu->pgm.s.GCPhysCR3 != GCPhysCR3) 2552 { 2553 RTGCPHYS const GCPhysOldCR3 = pVCpu->pgm.s.GCPhysCR3; 2554 2551 RTGCPHYS const GCPhysOldCR3 = pVCpu->pgm.s.GCPhysCR3; 2552 if (GCPhysOldCR3 != GCPhysCR3) 2553 { 2555 2554 uintptr_t const idxBth = pVCpu->pgm.s.idxBothModeData; 2556 2555 AssertReturn(idxBth < RT_ELEMENTS(g_aPgmBothModeData), VERR_PGM_MODE_IPE); … … 2832 2831 * VM scheduling. 2833 2832 * @retval VINF_SUCCESS if the was no change, or it was successfully dealt with. 2834 * @retval VINF_PGM_CHANGE_MODE if we're in RC or R0 and the mode changes.2835 * (I.e. not in R3.)2833 * @retval VINF_PGM_CHANGE_MODE if we're in RC the mode changes. This will 2834 * NOT be returned in ring-3 or ring-0. 2836 2835 * @retval VINF_EM_SUSPEND or VINF_EM_OFF on a fatal runtime error. (R3 only) 2837 2836 * … … 2891 2890 PGM_INVL_VCPU_TLBS(pVCpu); 2892 2891 2893 #if defined(IN_RING3) || defined(IN_RING0)2892 #ifndef IN_RC 2894 2893 return PGMHCChangeMode(pVCpu->CTX_SUFF(pVM), pVCpu, enmGuestMode); 2895 2894 #else -
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r73253 r73280 6519 6519 VBOXSTRICTRC rcStrict = IEMExecOne(pVCpu); 6520 6520 AssertMsg( rcStrict == VINF_SUCCESS 6521 || rcStrict == VINF_PGM_CHANGE_MODE6522 6521 || rcStrict == VINF_PGM_SYNC_CR3 6523 6522 || rcStrict == VINF_IEM_RAISED_XCPT, … … 6623 6622 } 6624 6623 else 6625 Assert(rcStrict == VERR_EM_INTERPRETER || rcStrict == VINF_PGM_ CHANGE_MODE || rcStrict == VINF_PGM_SYNC_CR3);6624 Assert(rcStrict == VERR_EM_INTERPRETER || rcStrict == VINF_PGM_SYNC_CR3); 6626 6625 return VBOXSTRICTRC_TODO(rcStrict); 6627 6626 } -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r73274 r73280 11882 11882 * 11883 11883 * @retval VINF_SUCCESS when guest execution can continue. 11884 * @retval VINF_PGM_CHANGE_MODE when shadow paging mode changed, back to ring-3.11885 11884 * @retval VINF_PGM_SYNC_CR3 CR3 sync is required, back to ring-3. 11886 11885 * @retval VERR_EM_INTERPRETER when something unexpected happened, fallback to … … 11911 11910 AssertMsg( rcStrict == VINF_SUCCESS 11912 11911 || rcStrict == VINF_IEM_RAISED_XCPT 11913 || rcStrict == VINF_PGM_CHANGE_MODE11914 11912 || rcStrict == VINF_PGM_SYNC_CR3, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); 11915 11913 … … 12038 12036 case VMX_EXIT_QUAL_CRX_ACCESS_LMSW: /* LMSW (Load Machine-Status Word into CR0) */ 12039 12037 { 12038 /* Note! LMSW cannot clear CR0.PE, so no fRealOnV86Active kludge needed here. */ 12040 12039 rcStrict = IEMExecDecodedLmsw(pVCpu, pVmxTransient->cbInstr, 12041 12040 VMX_EXIT_QUAL_CRX_LMSW_DATA(uExitQualification)); 12042 12041 AssertMsg( rcStrict == VINF_SUCCESS 12043 12042 || rcStrict == VINF_IEM_RAISED_XCPT 12044 || rcStrict == VINF_PGM_CHANGE_MODE, 12045 ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); 12043 , ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); 12046 12044 12047 12045 ASMAtomicUoOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RFLAGS | HM_CHANGED_GUEST_CR0); … … 13187 13185 || rc == VINF_EM_HALT 13188 13186 || rc == VINF_EM_RESCHEDULE 13189 || rc == VINF_PGM_CHANGE_MODE13190 13187 , ("#GP Unexpected rc=%Rrc\n", rc)); 13191 13188 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.