VirtualBox

Changeset 77450 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Feb 25, 2019 6:01:34 AM (6 years ago)
Author:
vboxsync
Message:

VMM/IEM: Nested VMX: bugref:9180 Fix passing operand size for string-IO instruction VM-exits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImplStrInstr.cpp.h

    r76553 r77450  
    12171217        ExitInstrInfo.StrIo.u3AddrSize = ADDR_VMXSTRIO;
    12181218        ExitInstrInfo.StrIo.iSegReg    = X86_SREG_ES;
    1219         rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_INS, pVCpu->cpum.GstCtx.dx, (OP_SIZE / 8) - 1, false /* fRep */,
     1219        rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_INS, pVCpu->cpum.GstCtx.dx, OP_SIZE / 8, false /* fRep */,
    12201220                                          ExitInstrInfo, cbInstr);
    12211221        if (rcStrict != VINF_VMX_INTERCEPT_NOT_ACTIVE)
     
    13021302        ExitInstrInfo.StrIo.u3AddrSize = ADDR_VMXSTRIO;
    13031303        ExitInstrInfo.StrIo.iSegReg    = X86_SREG_ES;
    1304         rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_INS, pVCpu->cpum.GstCtx.dx, (OP_SIZE / 8) - 1, true /* fRep */,
     1304        rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_INS, pVCpu->cpum.GstCtx.dx, OP_SIZE / 8, true /* fRep */,
    13051305                                          ExitInstrInfo, cbInstr);
    13061306        if (rcStrict != VINF_VMX_INTERCEPT_NOT_ACTIVE)
     
    15171517        ExitInstrInfo.StrIo.u3AddrSize = ADDR_VMXSTRIO;
    15181518        ExitInstrInfo.StrIo.iSegReg    = iEffSeg;
    1519         rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_OUTS, pVCpu->cpum.GstCtx.dx, (OP_SIZE / 8) - 1, false /* fRep */,
     1519        rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_OUTS, pVCpu->cpum.GstCtx.dx, OP_SIZE / 8, false /* fRep */,
    15201520                                          ExitInstrInfo, cbInstr);
    15211521        if (rcStrict != VINF_VMX_INTERCEPT_NOT_ACTIVE)
     
    15901590        ExitInstrInfo.StrIo.u3AddrSize = ADDR_VMXSTRIO;
    15911591        ExitInstrInfo.StrIo.iSegReg    = iEffSeg;
    1592         rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_OUTS, pVCpu->cpum.GstCtx.dx, (OP_SIZE / 8) - 1, true /* fRep */,
     1592        rcStrict = iemVmxVmexitInstrStrIo(pVCpu, VMXINSTRID_IO_OUTS, pVCpu->cpum.GstCtx.dx, OP_SIZE / 8, true /* fRep */,
    15931593                                          ExitInstrInfo, cbInstr);
    15941594        if (rcStrict != VINF_VMX_INTERCEPT_NOT_ACTIVE)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette