Changeset 66810 in vbox for trunk/src/VBox/ValidationKit/bootsectors
- Timestamp:
- May 5, 2017 2:36:10 PM (8 years ago)
- Location:
- trunk/src/VBox/ValidationKit/bootsectors
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-data.py
r66748 r66810 308 308 self.sEncoding += '_MOD_EQ_3' if oInstr.sSubOpcode == '11 mr/reg' else '_MOD_NE_3'; 309 309 elif oInstr.sInvalidStyle == 'intel-modrm': 310 self.sEncoding = 'BS3CG1ENC_MODRM_Gv_Ev'; 310 if oInstr.sSubOpcode is None: 311 self.sEncoding = 'BS3CG1ENC_MODRM_Gv_Ev'; 312 elif oInstr.sSubOpcode == '11 mr/reg': 313 self.sEncoding = 'BS3CG1ENC_MODRM_MOD_EQ_3'; 314 elif oInstr.sSubOpcode == '!11 mr/reg': 315 self.sEncoding = 'BS3CG1ENC_MODRM_MOD_NE_3'; 316 else: 317 raise Exception('Unhandled sSubOpcode=%s for sInvalidStyle=%s' % (oInstr.sSubOpcode, oInstr.sInvalidStyle)); 311 318 312 319 self.asFlags = []; -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c
r66808 r66810 1797 1797 1798 1798 1799 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VqZxReg_Nq(PBS3CG1STATE pThis, unsigned iEncoding) 1800 { 1801 unsigned off; 1802 if (iEncoding == 0) 1803 { 1804 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1805 pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 1, 0); 1806 pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_MM0; 1807 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM1_LO_ZX; 1808 } 1809 else if (iEncoding == 1) 1810 { 1811 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 1812 pThis->abCurInstr[off++] = X86_MODRM_MAKE(3, 6, 7); 1813 pThis->aOperands[pThis->iRmOp ].idxField = BS3CG1DST_MM7; 1814 pThis->aOperands[pThis->iRegOp].idxField = BS3CG1DST_XMM6_LO_ZX; 1815 } 1816 else 1817 return 0; 1818 pThis->cbCurInstr = off; 1819 return iEncoding + 1; 1820 } 1821 1822 1799 1823 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_Gv_Ma(PBS3CG1STATE pThis, unsigned iEncoding) 1800 1824 { … … 2233 2257 case BS3CG1ENC_MODRM_VqZxReg_Wq: 2234 2258 return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VsdZxReg_Wsd__OR__MODRM_VqZxReg_Wq(pThis, iEncoding); 2259 case BS3CG1ENC_MODRM_VqZxReg_Nq: 2260 return Bs3Cg1EncodeNext_BS3CG1ENC_MODRM_VqZxReg_Nq(pThis, iEncoding); 2235 2261 2236 2262 case BS3CG1ENC_MODRM_Gv_Ma: … … 2424 2450 case BS3CG1ENC_MODRM_VsdZxReg_Wsd: 2425 2451 case BS3CG1ENC_MODRM_VqZxReg_Wq: 2452 case BS3CG1ENC_MODRM_VqZxReg_Nq: 2426 2453 pThis->iRmOp = 1; 2427 2454 pThis->iRegOp = 0; -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1.h
r66808 r66810 54 54 BS3CG1OP_Gb, 55 55 BS3CG1OP_Gv, 56 BS3CG1OP_Nq, 56 57 BS3CG1OP_Uq, 57 58 BS3CG1OP_UqHi, … … 117 118 BS3CG1ENC_MODRM_VsdZxReg_Wsd, 118 119 BS3CG1ENC_MODRM_VqZxReg_Wq, 120 BS3CG1ENC_MODRM_VqZxReg_Nq, 119 121 BS3CG1ENC_MODRM_MbRO, 120 122 BS3CG1ENC_MODRM_MdRO,
Note:
See TracChangeset
for help on using the changeset viewer.