Changeset 66119 in vbox
- Timestamp:
- Mar 15, 2017 7:23:47 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3-cpu-generated-1-template.c
r66118 r66119 657 657 break; 658 658 659 case BS3CG1ENC_FIXED_rAX_Iz: 660 if (iEncoding == 0) 661 { 662 off = Bs3Cg1InsertOpcodes(pThis, 0); 663 pThis->aOperands[1].off = (uint8_t)off; 664 if (BS3_MODE_IS_16BIT_CODE(pThis->bMode)) 665 { 666 *(uint16_t *)&pThis->abCurInstr[off] = UINT16_MAX; 667 off += 2; 668 pThis->aOperands[0].cbOp = 2; 669 pThis->aOperands[1].cbOp = 2; 670 pThis->cBitsOp = 16; 671 } 672 else 673 { 674 *(uint32_t *)&pThis->abCurInstr[off] = UINT32_MAX; 675 off += 4; 676 pThis->aOperands[0].cbOp = 4; 677 pThis->aOperands[1].cbOp = 4; 678 pThis->cBitsOp = 32; 679 } 680 } 681 else if (iEncoding == 1 && (g_uBs3CpuDetected & BS3CPU_TYPE_MASK) >= BS3CPU_80386) 682 { 683 pThis->abCurInstr[0] = P_OZ; 684 off = Bs3Cg1InsertOpcodes(pThis, 1); 685 pThis->aOperands[1].off = (uint8_t)off; 686 if (!BS3_MODE_IS_16BIT_CODE(pThis->bMode)) 687 { 688 *(uint16_t *)&pThis->abCurInstr[off] = UINT16_MAX; 689 off += 2; 690 pThis->aOperands[0].cbOp = 2; 691 pThis->aOperands[1].cbOp = 2; 692 pThis->cBitsOp = 16; 693 } 694 else 695 { 696 *(uint32_t *)&pThis->abCurInstr[off] = UINT32_MAX; 697 off += 4; 698 pThis->aOperands[0].cbOp = 4; 699 pThis->aOperands[1].cbOp = 4; 700 pThis->cBitsOp = 32; 701 } 702 } 703 else if (iEncoding == 2 && BS3_MODE_IS_64BIT_CODE(pThis->bMode)) 704 { 705 pThis->abCurInstr[0] = REX_W___; 706 off = Bs3Cg1InsertOpcodes(pThis, 1); 707 pThis->aOperands[1].off = (uint8_t)off; 708 *(uint32_t *)&pThis->abCurInstr[off] = UINT32_MAX; 709 off += 4; 710 pThis->aOperands[0].cbOp = 8; 711 pThis->aOperands[1].cbOp = 4; 712 pThis->cBitsOp = 64; 713 } 714 else 715 break; 716 pThis->cbCurInstr = off; 717 iEncoding++; 718 break; 719 659 720 case BS3CG1ENC_MODRM_Ev_Gv: 660 721 case BS3CG1ENC_MODRM_Gv_Ev: 661 case BS3CG1ENC_FIXED_rAX_Iz:662 722 break; 663 723 … … 1342 1402 1343 1403 Bs3TestSubDone(); 1404 #if 0 1405 Bs3TestTerm(); 1406 Bs3Shutdown(); 1407 #endif 1344 1408 1345 1409 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.