vbox的更動 66976 路徑 trunk/src/VBox/ValidationKit
- 時間撮記:
- 2017-5-19 下午12:23:32 (8 年 以前)
- 位置:
- trunk/src/VBox/ValidationKit/bootsectors
- 檔案:
-
- 修改 3 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-data.py
r66968 r66976 317 317 else: 318 318 raise Exception('Unhandled sSubOpcode=%s for sInvalidStyle=%s' % (oInstr.sSubOpcode, oInstr.sInvalidStyle)); 319 elif oInstr.sInvalidStyle == 'vex.modrm': 320 self.sEncoding = 'BS3CG1ENC_VEX_MODRM'; 319 321 320 322 self.asFlags = []; -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c
r66974 r66976 2049 2049 off = Bs3Cg1InsertOpcodes(pThis, Bs3Cg1InsertReqPrefix(pThis, 0)); 2050 2050 pThis->cbCurInstr = off; 2051 iEncoding++;2052 2051 } 2053 2052 else … … 3343 3342 3344 3343 3344 //static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_VEX_FIXED(PBS3CG1STATE pThis, unsigned iEncoding) 3345 //{ 3346 // unsigned off; 3347 // if (iEncoding == 0) 3348 // off = Bs3Cg1InsertVex2bPrefix(pThis, 0 /*offDst*/, 0xf /*~V*/, 0 /*L*/, 1 /*~R*/); 3349 // else if (iEncoding == 0) 3350 // off = Bs3Cg1InsertVex3bPrefix(pThis, 0 /*offDst*/, 0xf /*~V*/, 0 /*L*/, 1 /*~R*/, 1 /*~X*/, 1 /*~B*/, 0 /*W*/); 3351 // else 3352 // return 0; 3353 // pThis->cbCurInstr = off; 3354 // return iEncoding + 1; 3355 //} 3356 3357 3345 3358 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_VEX_MODRM_MOD_EQ_3(PBS3CG1STATE pThis, unsigned iEncoding) 3346 3359 { … … 3420 3433 pThis->cbCurInstr = off; 3421 3434 return iEncoding + 1; 3435 } 3436 3437 3438 static unsigned BS3_NEAR_CODE Bs3Cg1EncodeNext_VEX_MODRM(PBS3CG1STATE pThis, unsigned iEncoding) 3439 { 3440 const unsigned cFirstEncodings = 32; 3441 if (iEncoding < cFirstEncodings) 3442 { 3443 unsigned iRet = Bs3Cg1EncodeNext_VEX_MODRM_MOD_EQ_3(pThis, iEncoding); 3444 BS3_ASSERT(iRet > iEncoding); 3445 return iRet; 3446 } 3447 return Bs3Cg1EncodeNext_VEX_MODRM_MOD_NE_3(pThis, iEncoding - cFirstEncodings) + cFirstEncodings; 3422 3448 } 3423 3449 … … 3958 3984 3959 3985 /* Unused or invalid instructions mostly. */ 3986 //case BS3CG1ENC_VEX_FIXED: 3987 // pThis->pfnEncoder = Bs3Cg1EncodeNext_VEX_FIXED; 3988 // break; 3960 3989 case BS3CG1ENC_VEX_MODRM_MOD_EQ_3: 3961 3990 pThis->pfnEncoder = Bs3Cg1EncodeNext_VEX_MODRM_MOD_EQ_3; … … 3963 3992 case BS3CG1ENC_VEX_MODRM_MOD_NE_3: 3964 3993 pThis->pfnEncoder = Bs3Cg1EncodeNext_VEX_MODRM_MOD_NE_3; 3994 break; 3995 case BS3CG1ENC_VEX_MODRM: 3996 pThis->pfnEncoder = Bs3Cg1EncodeNext_VEX_MODRM; 3965 3997 break; 3966 3998 -
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1.h
r66968 r66976 176 176 BS3CG1ENC_MODRM_MOD_EQ_3, /**< Unused or invalid instruction. */ 177 177 BS3CG1ENC_MODRM_MOD_NE_3, /**< Unused or invalid instruction. */ 178 //BS3CG1ENC_VEX_FIXED, /**< Unused or invalid instruction. */ 178 179 BS3CG1ENC_VEX_MODRM_MOD_EQ_3, /**< Unused or invalid instruction. */ 179 180 BS3CG1ENC_VEX_MODRM_MOD_NE_3, /**< Unused or invalid instruction. */ 181 BS3CG1ENC_VEX_MODRM, /**< Unused or invalid instruction. */ 180 182 181 183 BS3CG1ENC_END
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器