Changeset 55105 in vbox
- Timestamp:
- Apr 6, 2015 7:18:50 PM (9 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
-
IEMAll.cpp (modified) (1 diff)
-
IEMAllCImpl.cpp.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r55048 r55105 4629 4629 { 4630 4630 return *(uint64_t *)iemGRegRef(pIemCpu, iReg); 4631 }4632 4633 4634 /**4635 * Is the FPU state in FXSAVE format or not.4636 *4637 * @returns true if it is, false if it's in FNSAVE.4638 * @param pVCpu Pointer to the VMCPU.4639 */4640 DECLINLINE(bool) iemFRegIsFxSaveFormat(PIEMCPU pIemCpu)4641 {4642 #ifdef RT_ARCH_AMD644643 NOREF(pIemCpu);4644 return true;4645 #else4646 NOREF(pIemCpu); /// @todo return pVCpu->pVMR3->cpum.s.CPUFeatures.edx.u1FXSR;4647 return true;4648 #endif4649 4631 } 4650 4632 -
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r55048 r55105 6044 6044 6045 6045 PX86XSAVEAREA pXState = pCtx->CTX_SUFF(pXState); 6046 if (iemFRegIsFxSaveFormat(pIemCpu)) 6047 { 6048 pXState->x87.FCW = 0x37f; 6049 pXState->x87.FSW = 0; 6050 pXState->x87.FTW = 0x00; /* 0 - empty. */ 6051 pXState->x87.FPUDP = 0; 6052 pXState->x87.DS = 0; //?? 6053 pXState->x87.Rsrvd2= 0; 6054 pXState->x87.FPUIP = 0; 6055 pXState->x87.CS = 0; //?? 6056 pXState->x87.Rsrvd1= 0; 6057 pXState->x87.FOP = 0; 6058 } 6059 else 6060 { 6061 PX86FPUSTATE pFpu = (PX86FPUSTATE)&pXState->x87; 6062 pFpu->FCW = 0x37f; 6063 pFpu->FSW = 0; 6064 pFpu->FTW = 0xffff; /* 11 - empty */ 6065 pFpu->FPUOO = 0; //?? 6066 pFpu->FPUOS = 0; //?? 6067 pFpu->FPUIP = 0; 6068 pFpu->CS = 0; //?? 6069 pFpu->FOP = 0; 6070 } 6046 pXState->x87.FCW = 0x37f; 6047 pXState->x87.FSW = 0; 6048 pXState->x87.FTW = 0x00; /* 0 - empty. */ 6049 pXState->x87.FPUDP = 0; 6050 pXState->x87.DS = 0; //?? 6051 pXState->x87.Rsrvd2= 0; 6052 pXState->x87.FPUIP = 0; 6053 pXState->x87.CS = 0; //?? 6054 pXState->x87.Rsrvd1= 0; 6055 pXState->x87.FOP = 0; 6071 6056 6072 6057 iemHlpUsedFpu(pIemCpu); … … 6104 6089 return iemRaiseGeneralProtectionFault0(pIemCpu); 6105 6090 } 6106 AssertReturn(iemFRegIsFxSaveFormat(pIemCpu), VERR_IEM_IPE_2);6107 6091 6108 6092 /* … … 6209 6193 return iemRaiseGeneralProtectionFault0(pIemCpu); 6210 6194 } 6211 AssertReturn(iemFRegIsFxSaveFormat(pIemCpu), VERR_IEM_IPE_2);6212 6195 6213 6196 /*
Note:
See TracChangeset
for help on using the changeset viewer.

