Changeset 79628 in vbox for trunk/src/VBox
- Timestamp:
- Jul 9, 2019 5:45:01 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 131930
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r79627 r79628 16363 16363 16364 16364 /* If this VM-exit occurred while delivering an event through the guest IDT, handle it accordingly. */ 16365 VBOXSTRICTRC rcStrict 1= hmR0VmxCheckExitDueToEventDelivery(pVCpu, pVmxTransient);16366 if (RT_LIKELY(rcStrict 1== VINF_SUCCESS))16365 VBOXSTRICTRC rcStrict = hmR0VmxCheckExitDueToEventDelivery(pVCpu, pVmxTransient); 16366 if (RT_LIKELY(rcStrict == VINF_SUCCESS)) 16367 16367 { 16368 16368 /* … … 16379 16379 else 16380 16380 { 16381 if (rcStrict 1== VINF_HM_DOUBLE_FAULT)16382 rcStrict 1= VINF_SUCCESS;16383 return rcStrict 1;16381 if (rcStrict == VINF_HM_DOUBLE_FAULT) 16382 rcStrict = VINF_SUCCESS; 16383 return rcStrict; 16384 16384 } 16385 16385 … … 16393 16393 AssertRCReturn(rc, rc); 16394 16394 16395 VBOXSTRICTRC rcStrict;16396 16395 PCEMEXITREC pExitRec = EMHistoryUpdateFlagsAndTypeAndPC(pVCpu, 16397 16396 EMEXIT_MAKE_FT(EMEXIT_F_KIND_EM | EMEXIT_F_HM, EMEXITTYPE_MMIO), … … 16423 16422 { 16424 16423 /* 16425 * Frequent exit or something needing probing. Get state and call EMHistoryExec.16424 * Frequent exit or something needing probing. Call EMHistoryExec. 16426 16425 */ 16427 int rc2 = hmR0VmxImportGuestState(pVCpu, pVmcsInfo, IEM_CPUMCTX_EXTRN_MUST_MASK);16428 AssertRCReturn(rc2, rc2);16429 16430 16426 Log4(("EptMisscfgExit/%u: %04x:%08RX64: %RGp -> EMHistoryExec\n", 16431 16427 pVCpu->idCpu, pVCpu->cpum.GstCtx.cs.Sel, pVCpu->cpum.GstCtx.rip, GCPhys)); … … 16452 16448 16453 16449 /* If this VM-exit occurred while delivering an event through the guest IDT, handle it accordingly. */ 16454 VBOXSTRICTRC rcStrict 1= hmR0VmxCheckExitDueToEventDelivery(pVCpu, pVmxTransient);16455 if (RT_LIKELY(rcStrict 1== VINF_SUCCESS))16450 VBOXSTRICTRC rcStrict = hmR0VmxCheckExitDueToEventDelivery(pVCpu, pVmxTransient); 16451 if (RT_LIKELY(rcStrict == VINF_SUCCESS)) 16456 16452 { 16457 16453 /* … … 16464 16460 else 16465 16461 { 16466 if (rcStrict 1== VINF_HM_DOUBLE_FAULT)16462 if (rcStrict == VINF_HM_DOUBLE_FAULT) 16467 16463 { 16468 16464 Assert(pVCpu->hm.s.Event.fPending); 16469 rcStrict 1= VINF_SUCCESS;16470 } 16471 return rcStrict 1;16465 rcStrict = VINF_SUCCESS; 16466 } 16467 return rcStrict; 16472 16468 } 16473 16469 … … 16500 16496 pCtx->cs.Sel, pCtx->rip)); 16501 16497 16502 VBOXSTRICTRC rcStrict2= PGMR0Trap0eHandlerNestedPaging(pVM, pVCpu, PGMMODE_EPT, uErrorCode, CPUMCTX2CORE(pCtx), GCPhys);16498 rcStrict = PGMR0Trap0eHandlerNestedPaging(pVM, pVCpu, PGMMODE_EPT, uErrorCode, CPUMCTX2CORE(pCtx), GCPhys); 16503 16499 TRPMResetTrap(pVCpu); 16504 16500 16505 16501 /* Same case as PGMR0Trap0eHandlerNPMisconfig(). See comment above, @bugref{6043}. */ 16506 if ( rcStrict 2== VINF_SUCCESS16507 || rcStrict 2== VERR_PAGE_TABLE_NOT_PRESENT16508 || rcStrict 2== VERR_PAGE_NOT_PRESENT)16502 if ( rcStrict == VINF_SUCCESS 16503 || rcStrict == VERR_PAGE_TABLE_NOT_PRESENT 16504 || rcStrict == VERR_PAGE_NOT_PRESENT) 16509 16505 { 16510 16506 /* Successfully synced our nested page tables. */ … … 16514 16510 } 16515 16511 16516 Log4Func(("EPT return to ring-3 rcStrict2=%Rrc\n", VBOXSTRICTRC_VAL(rcStrict 2)));16517 return rcStrict 2;16512 Log4Func(("EPT return to ring-3 rcStrict2=%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); 16513 return rcStrict; 16518 16514 } 16519 16515
Note:
See TracChangeset
for help on using the changeset viewer.