Changeset 73988 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Aug 31, 2018 9:43:26 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r73987 r73988 5891 5891 Assert(pGCPtrMem); 5892 5892 Assert(!CPUMIsGuestInRealOrV86Mode(pVCpu)); 5893 HMVMX_CPUMCTX_ASSERT(pVCpu, CPUMCTX_EXTRN_GPRS_MASK | CPUMCTX_EXTRN_SREG_MASK | CPUMCTX_EXTRN_EFER | CPUMCTX_EXTRN_CR0); 5893 5894 5894 5895 static uint64_t const s_auAddrSizeMasks[] = { UINT64_C(0xffff), UINT64_C(0xffffffff), UINT64_C(0xffffffffffffffff) }; … … 11356 11357 */ 11357 11358 int rc = hmR0VmxReadExitInstrLenVmcs(pVmxTransient); 11358 rc |= hmR0VmxImportGuestState(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_NO_MEM_MASK | CPUMCTX_EXTRN_RAX | CPUMCTX_EXTRN_RCX);11359 rc |= hmR0VmxImportGuestState(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_NO_MEM_MASK); 11359 11360 AssertRCReturn(rc, rc); 11360 11361 … … 11370 11371 rcStrict = IEMExecDecodedCpuid(pVCpu, pVmxTransient->cbInstr); 11371 11372 if (rcStrict == VINF_SUCCESS) 11372 ASMAtomicUoOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RFLAGS | HM_CHANGED_GUEST_RAX 11373 | HM_CHANGED_GUEST_RCX | HM_CHANGED_GUEST_RDX | HM_CHANGED_GUEST_RBX); 11373 ASMAtomicUoOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RFLAGS); 11374 11374 else if (rcStrict == VINF_IEM_RAISED_XCPT) 11375 11375 { … … 11434 11434 if (pVCpu->hm.s.vmx.u32ProcCtls & VMX_PROC_CTLS_USE_TSC_OFFSETTING) 11435 11435 pVmxTransient->fUpdateTscOffsettingAndPreemptTimer = true; 11436 ASMAtomicUoOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RFLAGS 11437 | HM_CHANGED_GUEST_RAX | HM_CHANGED_GUEST_RDX); 11436 ASMAtomicUoOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RFLAGS); 11438 11437 } 11439 11438 else if (rcStrict == VINF_IEM_RAISED_XCPT) … … 11463 11462 if (pVCpu->hm.s.vmx.u32ProcCtls & VMX_PROC_CTLS_USE_TSC_OFFSETTING) 11464 11463 pVmxTransient->fUpdateTscOffsettingAndPreemptTimer = true; 11465 ASMAtomicUoOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RFLAGS 11466 | HM_CHANGED_GUEST_RAX | HM_CHANGED_GUEST_RDX | HM_CHANGED_GUEST_RCX); 11464 ASMAtomicUoOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_RIP | HM_CHANGED_GUEST_RFLAGS); 11467 11465 } 11468 11466 else if (rcStrict == VINF_IEM_RAISED_XCPT) … … 11554 11552 int rc = hmR0VmxReadExitQualVmcs(pVCpu, pVmxTransient); 11555 11553 rc |= hmR0VmxReadExitInstrLenVmcs(pVmxTransient); 11556 rc |= hmR0VmxImportGuestState(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK | CPUMCTX_EXTRN_DS);11554 rc |= hmR0VmxImportGuestState(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK); 11557 11555 AssertRCReturn(rc, rc); 11558 11556 … … 13419 13417 13420 13418 int rc = hmR0VmxReadExitInstrLenVmcs(pVmxTransient); 13421 rc |= hmR0VmxImportGuestState(pVCpu, CPUMCTX_EXTRN_SREG_MASK | IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK); 13419 rc |= hmR0VmxImportGuestState(pVCpu, CPUMCTX_EXTRN_RSP | CPUMCTX_EXTRN_SREG_MASK 13420 | IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK); 13422 13421 rc |= hmR0VmxReadExitInstrInfoVmcs(pVmxTransient); 13423 13422 rc |= hmR0VmxReadExitQualVmcs(pVCpu, pVmxTransient); … … 13490 13489 13491 13490 int rc = hmR0VmxReadExitInstrLenVmcs(pVmxTransient); 13492 rc |= hmR0VmxImportGuestState(pVCpu, CPUMCTX_EXTRN_SREG_MASK | IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK); 13491 rc |= hmR0VmxImportGuestState(pVCpu, CPUMCTX_EXTRN_RSP | CPUMCTX_EXTRN_SREG_MASK 13492 | IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK); 13493 13493 rc |= hmR0VmxReadExitInstrInfoVmcs(pVmxTransient); 13494 13494 rc |= hmR0VmxReadExitQualVmcs(pVCpu, pVmxTransient); … … 13545 13545 13546 13546 int rc = hmR0VmxReadExitInstrLenVmcs(pVmxTransient); 13547 rc |= hmR0VmxImportGuestState(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_ MEM_MASK);13547 rc |= hmR0VmxImportGuestState(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_NO_MEM_MASK); 13548 13548 AssertRCReturn(rc, rc); 13549 13549 … … 13573 13573 13574 13574 int rc = hmR0VmxReadExitInstrLenVmcs(pVmxTransient); 13575 rc |= hmR0VmxImportGuestState(pVCpu, CPUMCTX_EXTRN_SREG_MASK | IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK); 13575 rc |= hmR0VmxImportGuestState(pVCpu, CPUMCTX_EXTRN_RSP | CPUMCTX_EXTRN_SREG_MASK 13576 | IEM_CPUMCTX_EXTRN_EXEC_DECODED_MEM_MASK); 13576 13577 rc |= hmR0VmxReadExitInstrInfoVmcs(pVmxTransient); 13577 13578 rc |= hmR0VmxReadExitQualVmcs(pVCpu, pVmxTransient);
Note:
See TracChangeset
for help on using the changeset viewer.