Lines Matching defs:uPtr

6359  * @param   uPtr                Where to store the state.
6362 static void iemCImplCommonFpuStoreEnv(PIEMCPU pIemCpu, IEMMODE enmEffOpSize, RTPTRUNION uPtr, PCCPUMCTX pCtx)
6367 uPtr.pu16[0] = pSrcX87->FCW;
6368 uPtr.pu16[1] = pSrcX87->FSW;
6369 uPtr.pu16[2] = iemFpuCalcFullFtw(pSrcX87);
6377 uPtr.pu16[3] = (uint16_t)pSrcX87->FPUIP;
6378 uPtr.pu16[4] = ((pSrcX87->FPUIP >> 4) & UINT16_C(0xf000)) | pSrcX87->FOP;
6379 uPtr.pu16[5] = (uint16_t)pSrcX87->FPUDP;
6380 uPtr.pu16[6] = (pSrcX87->FPUDP >> 4) & UINT16_C(0xf000);
6384 uPtr.pu16[3] = pSrcX87->FPUIP;
6385 uPtr.pu16[4] = pSrcX87->CS;
6386 uPtr.pu16[5] = pSrcX87->FPUDP;
6387 uPtr.pu16[6] = pSrcX87->DS;
6393 uPtr.pu16[0*2] = pSrcX87->FCW;
6394 uPtr.pu16[1*2] = pSrcX87->FSW;
6395 uPtr.pu16[2*2] = iemFpuCalcFullFtw(pSrcX87);
6398 uPtr.pu16[3*2] = (uint16_t)pSrcX87->FPUIP;
6399 uPtr.pu32[4] = ((pSrcX87->FPUIP & UINT32_C(0xffff0000)) >> 4) | pSrcX87->FOP;
6400 uPtr.pu16[5*2] = (uint16_t)pSrcX87->FPUDP;
6401 uPtr.pu32[6] = (pSrcX87->FPUDP & UINT32_C(0xffff0000)) >> 4;
6405 uPtr.pu32[3] = pSrcX87->FPUIP;
6406 uPtr.pu16[4*2] = pSrcX87->CS;
6407 uPtr.pu16[4*2+1]= pSrcX87->FOP;
6408 uPtr.pu32[5] = pSrcX87->FPUDP;
6409 uPtr.pu16[6*2] = pSrcX87->DS;
6418 * @param uPtr Where to store the state.
6421 static void iemCImplCommonFpuRestoreEnv(PIEMCPU pIemCpu, IEMMODE enmEffOpSize, RTCPTRUNION uPtr, PCPUMCTX pCtx)
6426 pDstX87->FCW = uPtr.pu16[0];
6427 pDstX87->FSW = uPtr.pu16[1];
6428 pDstX87->FTW = uPtr.pu16[2];
6431 pDstX87->FPUIP = uPtr.pu16[3] | ((uint32_t)(uPtr.pu16[4] & UINT16_C(0xf000)) << 4);
6432 pDstX87->FPUDP = uPtr.pu16[5] | ((uint32_t)(uPtr.pu16[6] & UINT16_C(0xf000)) << 4);
6433 pDstX87->FOP = uPtr.pu16[4] & UINT16_C(0x07ff);
6441 pDstX87->FPUIP = uPtr.pu16[3];
6442 pDstX87->CS = uPtr.pu16[4];
6444 pDstX87->FPUDP = uPtr.pu16[5];
6445 pDstX87->DS = uPtr.pu16[6];
6452 pDstX87->FCW = uPtr.pu16[0*2];
6453 pDstX87->FSW = uPtr.pu16[1*2];
6454 pDstX87->FTW = uPtr.pu16[2*2];
6457 pDstX87->FPUIP = uPtr.pu16[3*2] | ((uPtr.pu32[4] & UINT32_C(0x0ffff000)) << 4);
6458 pDstX87->FOP = uPtr.pu32[4] & UINT16_C(0x07ff);
6459 pDstX87->FPUDP = uPtr.pu16[5*2] | ((uPtr.pu32[6] & UINT32_C(0x0ffff000)) << 4);
6467 pDstX87->FPUIP = uPtr.pu32[3];
6468 pDstX87->CS = uPtr.pu16[4*2];
6470 pDstX87->FOP = uPtr.pu16[4*2+1];
6471 pDstX87->FPUDP = uPtr.pu32[5];
6472 pDstX87->DS = uPtr.pu16[6*2];
6496 RTPTRUNION uPtr;
6497 VBOXSTRICTRC rcStrict = iemMemMap(pIemCpu, &uPtr.pv, enmEffOpSize == IEMMODE_16BIT ? 14 : 28,
6502 iemCImplCommonFpuStoreEnv(pIemCpu, enmEffOpSize, uPtr, pCtx);
6504 rcStrict = iemMemCommitAndUnmap(pIemCpu, uPtr.pv, IEM_ACCESS_DATA_W | IEM_ACCESS_PARTIAL_WRITE);
6523 RTPTRUNION uPtr;
6524 VBOXSTRICTRC rcStrict = iemMemMap(pIemCpu, &uPtr.pv, enmEffOpSize == IEMMODE_16BIT ? 94 : 108,
6530 iemCImplCommonFpuStoreEnv(pIemCpu, enmEffOpSize, uPtr, pCtx);
6531 PRTFLOAT80U paRegs = (PRTFLOAT80U)(uPtr.pu8 + (enmEffOpSize == IEMMODE_16BIT ? 14 : 28));
6539 rcStrict = iemMemCommitAndUnmap(pIemCpu, uPtr.pv, IEM_ACCESS_DATA_W | IEM_ACCESS_PARTIAL_WRITE);
6574 RTCPTRUNION uPtr;
6575 VBOXSTRICTRC rcStrict = iemMemMap(pIemCpu, (void **)&uPtr.pv, enmEffOpSize == IEMMODE_16BIT ? 14 : 28,
6580 iemCImplCommonFpuRestoreEnv(pIemCpu, enmEffOpSize, uPtr, pCtx);
6582 rcStrict = iemMemCommitAndUnmap(pIemCpu, (void *)uPtr.pv, IEM_ACCESS_DATA_R);
6601 RTCPTRUNION uPtr;
6602 VBOXSTRICTRC rcStrict = iemMemMap(pIemCpu, (void **)&uPtr.pv, enmEffOpSize == IEMMODE_16BIT ? 94 : 108,
6608 iemCImplCommonFpuRestoreEnv(pIemCpu, enmEffOpSize, uPtr, pCtx);
6609 PCRTFLOAT80U paRegs = (PCRTFLOAT80U)(uPtr.pu8 + (enmEffOpSize == IEMMODE_16BIT ? 14 : 28));
6618 rcStrict = iemMemCommitAndUnmap(pIemCpu, (void *)uPtr.pv, IEM_ACCESS_DATA_R);