VirtualBox

Changeset 42623 in vbox


Ignore:
Timestamp:
Aug 6, 2012 1:45:40 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
79815
Message:

IEM: Forgot to advance RIP in STR & SLDT.

File:
1 edited

Legend:

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

    r42621 r42623  
    547547                IEM_MC_FETCH_LDTR_U16(u16Ldtr);
    548548                IEM_MC_STORE_GREG_U16((bRm & X86_MODRM_RM_MASK) | pIemCpu->uRexB, u16Ldtr);
     549                IEM_MC_ADVANCE_RIP();
    549550                IEM_MC_END();
    550551                break;
     
    555556                IEM_MC_FETCH_LDTR_U32(u32Ldtr);
    556557                IEM_MC_STORE_GREG_U32((bRm & X86_MODRM_RM_MASK) | pIemCpu->uRexB, u32Ldtr);
     558                IEM_MC_ADVANCE_RIP();
    557559                IEM_MC_END();
    558560                break;
     
    563565                IEM_MC_FETCH_LDTR_U64(u64Ldtr);
    564566                IEM_MC_STORE_GREG_U64((bRm & X86_MODRM_RM_MASK) | pIemCpu->uRexB, u64Ldtr);
     567                IEM_MC_ADVANCE_RIP();
    565568                IEM_MC_END();
    566569                break;
     
    578581        IEM_MC_FETCH_LDTR_U16(u16Ldtr);
    579582        IEM_MC_STORE_MEM_U16(pIemCpu->iEffSeg, GCPtrEffDst, u16Ldtr);
     583        IEM_MC_ADVANCE_RIP();
    580584        IEM_MC_END();
    581585    }
     
    600604                IEM_MC_FETCH_TR_U16(u16Tr);
    601605                IEM_MC_STORE_GREG_U16((bRm & X86_MODRM_RM_MASK) | pIemCpu->uRexB, u16Tr);
     606                IEM_MC_ADVANCE_RIP();
    602607                IEM_MC_END();
    603608                break;
     
    608613                IEM_MC_FETCH_TR_U32(u32Tr);
    609614                IEM_MC_STORE_GREG_U32((bRm & X86_MODRM_RM_MASK) | pIemCpu->uRexB, u32Tr);
     615                IEM_MC_ADVANCE_RIP();
    610616                IEM_MC_END();
    611617                break;
     
    616622                IEM_MC_FETCH_TR_U64(u64Tr);
    617623                IEM_MC_STORE_GREG_U64((bRm & X86_MODRM_RM_MASK) | pIemCpu->uRexB, u64Tr);
     624                IEM_MC_ADVANCE_RIP();
    618625                IEM_MC_END();
    619626                break;
     
    631638        IEM_MC_FETCH_TR_U16(u16Tr);
    632639        IEM_MC_STORE_MEM_U16(pIemCpu->iEffSeg, GCPtrEffDst, u16Tr);
     640        IEM_MC_ADVANCE_RIP();
    633641        IEM_MC_END();
    634642    }
Note: See TracChangeset for help on using the changeset viewer.

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