Changeset 36769 in vbox
- Timestamp:
- Apr 20, 2011 6:51:05 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 71314
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r36768 r36769 1940 1940 case IEMMODE_32BIT: 1941 1941 { 1942 RTGCPTR32 GCPtrFirst32 = *pGCPtrMem;1942 RTGCPTR32 GCPtrFirst32 = (RTGCPTR32)*pGCPtrMem; 1943 1943 RTGCPTR32 GCPtrLast32 = GCPtrFirst32 + cbMem - 1; 1944 1944 … … 2225 2225 uint8_t *pbBuf = &pIemCpu->aBounceBuffers[iMemMap].ab[0]; 2226 2226 uint32_t const cbFirstPage = PAGE_SIZE - (GCPhysFirst & PAGE_OFFSET_MASK); 2227 uint32_t const cbSecondPage = cbMem - cbFirstPage;2227 uint32_t const cbSecondPage = (uint32_t)(cbMem - cbFirstPage); 2228 2228 2229 2229 if (fAccess & (IEM_ACCESS_TYPE_READ | IEM_ACCESS_TYPE_EXEC)) … … 3109 3109 static VBOXSTRICTRC iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp) 3110 3110 { 3111 Assert(cbMem < UINT8_MAX); 3111 3112 PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx); 3112 RTGCPTR GCPtrTop = iemRegGetRspForPush(pCtx, cbMem, puNewRsp);3113 RTGCPTR GCPtrTop = iemRegGetRspForPush(pCtx, (uint8_t)cbMem, puNewRsp); 3113 3114 return iemMemMap(pIemCpu, ppvMem, cbMem, X86_SREG_SS, GCPtrTop, IEM_ACCESS_STACK_W); 3114 3115 } … … 3151 3152 static VBOXSTRICTRC iemMemStackPopBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp) 3152 3153 { 3154 Assert(cbMem < UINT8_MAX); 3153 3155 PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx); 3154 RTGCPTR GCPtrTop = iemRegGetRspForPop(pCtx, cbMem, puNewRsp);3156 RTGCPTR GCPtrTop = iemRegGetRspForPop(pCtx, (uint8_t)cbMem, puNewRsp); 3155 3157 return iemMemMap(pIemCpu, (void **)ppvMem, cbMem, X86_SREG_SS, GCPtrTop, IEM_ACCESS_STACK_R); 3156 3158 } … … 3198 3200 { 3199 3201 if ( !pCtx->ldtrHid.Attr.n.u1Present 3200 || (uSel | 0x7 ) > pCtx->ldtrHid.u32Limit )3202 || (uSel | 0x7U) > pCtx->ldtrHid.u32Limit ) 3201 3203 { 3202 3204 Log(("iemMemFetchSelDesc: LDT selector %#x is out of bounds (%3x) or ldtr is NP (%#x)\n", … … 3211 3213 else 3212 3214 { 3213 if ((uSel | 0x7 ) > pCtx->gdtr.cbGdt)3215 if ((uSel | 0x7U) > pCtx->gdtr.cbGdt) 3214 3216 { 3215 3217 Log(("iemMemFetchSelDesc: GDT selector %#x is out of bounds (%3x)\n", uSel, pCtx->gdtr.cbGdt)); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
r36768 r36769 7713 7713 { 7714 7714 uint8_t bRm; IEM_OPCODE_GET_NEXT_BYTE(pIemCpu, &bRm); 7715 PCIEMOPUNARYSIZES pImpl;7716 7715 switch ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) 7717 7716 {
Note:
See TracChangeset
for help on using the changeset viewer.