Changeset 66404 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
- Timestamp:
- Apr 3, 2017 3:21:56 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
r66391 r66404 5825 5825 } 5826 5826 5827 5828 /** Opcode 0x0f 0xae mem/2. */ 5829 FNIEMOP_STUB_1(iemOp_Grp15_ldmxcsr, uint8_t, bRm); 5827 /** 5828 * @opmaps grp15 5829 * @opcode !11/2 5830 * @oppfx none 5831 * @opcpuid sse 5832 * @opgroup og_cachectl 5833 * @optest op1=0 -> mxcsr=0 5834 * @optest op1=0x2083 -> mxcsr=0x2083 5835 * @optest op1=0xfffffffe -> value.xcpt=0xd 5836 * @optest op1=0x2083 cr0|=ts -> value.xcpt=0x7 5837 * @optest op1=0x2083 cr0|=em -> value.xcpt=0x6 5838 * @optest op1=0x2083 cr0|=mp -> mxcsr=0x2083 5839 * @optest op1=0x2083 cr4&~=osfxsr -> value.xcpt=0x6 5840 * @optest op1=0x2083 cr0|=ts,em -> value.xcpt=0x6 5841 * @optest op1=0x2083 cr0|=em cr4&~=osfxsr -> value.xcpt=0x6 5842 * @optest op1=0x2083 cr0|=ts,em cr4&~=osfxsr -> value.xcpt=0x6 5843 * @optest op1=0x2083 cr0|=ts,em,mp cr4&~=osfxsr -> value.xcpt=0x6 5844 * @oponlytest 5845 */ 5846 FNIEMOP_DEF_1(iemOp_Grp15_ldmxcsr, uint8_t, bRm) 5847 { 5848 IEMOP_MNEMONIC1(M_MEM, LDMXCSR, ldmxcsr, MdRO, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZE); 5849 if (!IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse) 5850 return IEMOP_RAISE_INVALID_OPCODE(); 5851 5852 IEM_MC_BEGIN(2, 0); 5853 IEM_MC_ARG(uint8_t, iEffSeg, 0); 5854 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 5855 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); 5856 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5857 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 5858 IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg); 5859 IEM_MC_CALL_CIMPL_2(iemCImpl_ldmxcsr, iEffSeg, GCPtrEff); 5860 IEM_MC_END(); 5861 return VINF_SUCCESS; 5862 } 5830 5863 5831 5864 … … 5835 5868 * @oppfx none 5836 5869 * @opcpuid sse 5837 * @opgroup og_cachectl 5838 * @optest mxcsr=0 -> op1=0 5839 * @optest mxcsr=0x2083 -> op1=0x2083 5840 * @oponlytest 5870 * @opgroup og_sse_mxcsrsm 5871 * @optest mxcsr=0 op1=0x2083 -> mxcsr=0x2083 5841 5872 */ 5842 5873 FNIEMOP_DEF_1(iemOp_Grp15_stmxcsr, uint8_t, bRm) … … 5846 5877 return IEMOP_RAISE_INVALID_OPCODE(); 5847 5878 5848 IEM_MC_BEGIN(2, 1);5879 IEM_MC_BEGIN(2, 0); 5849 5880 IEM_MC_ARG(uint8_t, iEffSeg, 0); 5850 5881 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1);
Note:
See TracChangeset
for help on using the changeset viewer.