- Timestamp:
- May 27, 2019 4:05:29 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r78719 r78771 3050 3050 uint8_t cbInstr) 3051 3051 { 3052 if (CPUMIsGuestVmxLmswInterceptSet(pVCpu, &pVCpu->cpum.GstCtx, *pu16NewMsw)) 3052 Assert(pu16NewMsw); 3053 3054 uint16_t const uNewMsw = *pu16NewMsw; 3055 if (CPUMIsGuestVmxLmswInterceptSet(pVCpu, &pVCpu->cpum.GstCtx, uNewMsw)) 3053 3056 { 3054 3057 Log2(("lmsw: Guest intercept -> VM-exit\n")); … … 3069 3072 | RT_BF_MAKE(VMX_BF_EXIT_QUAL_CRX_ACCESS, VMX_EXIT_QUAL_CRX_ACCESS_LMSW) 3070 3073 | RT_BF_MAKE(VMX_BF_EXIT_QUAL_CRX_LMSW_OP, fMemOperand) 3071 | RT_BF_MAKE(VMX_BF_EXIT_QUAL_CRX_LMSW_DATA, *pu16NewMsw);3074 | RT_BF_MAKE(VMX_BF_EXIT_QUAL_CRX_LMSW_DATA, uNewMsw); 3072 3075 3073 3076 return iemVmxVmexitInstrWithInfo(pVCpu, &ExitInfo); … … 3084 3087 uint32_t const fGstHostMask = pVmcs->u64Cr0Mask.u; 3085 3088 uint32_t const fGstHostLmswMask = fGstHostMask & (X86_CR0_PE | X86_CR0_MP | X86_CR0_EM | X86_CR0_TS); 3086 *pu16NewMsw = (uGuestCr0 & fGstHostLmswMask) | ( *pu16NewMsw & ~fGstHostLmswMask);3089 *pu16NewMsw = (uGuestCr0 & fGstHostLmswMask) | (uNewMsw & ~fGstHostLmswMask); 3087 3090 3088 3091 return VINF_VMX_INTERCEPT_NOT_ACTIVE;
Note:
See TracChangeset
for help on using the changeset viewer.