Changeset 42432 in vbox for trunk/src/VBox
- Timestamp:
- Jul 27, 2012 10:03:31 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r42427 r42432 124 124 * @param pSReg Pointer to the segment register. 125 125 */ 126 static void iemHlpAdjustSelectorForNewCpl(uint8_t uCpl, PCPUMSELREG pSReg) 127 { 126 static void iemHlpAdjustSelectorForNewCpl(PIEMCPU pIemCpu, uint8_t uCpl, PCPUMSELREG pSReg) 127 { 128 #ifdef VBOX_WITH_RAW_MODE_NOT_R0 129 if (!CPUMSELREG_ARE_HIDDEN_PARTS_VALID(IEMCPU_TO_VMCPU(pIemCpu), pSReg)) 130 CPUMGuestLazyLoadHiddenSelectorReg(IEMCPU_TO_VMCPU(pIemCpu), pSReg); 131 #else 132 Assert(CPUMSELREG_ARE_HIDDEN_PARTS_VALID(IEMCPU_TO_VMCPU(pIemCpu), pSReg)); 133 #endif 134 128 135 if ( uCpl > pSReg->Attr.n.u2Dpl 129 136 && pSReg->Attr.n.u1DescType /* code or data, not system */ … … 1558 1565 1559 1566 pIemCpu->uCpl = (uNewCs & X86_SEL_RPL); 1560 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->ds);1561 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->es);1562 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->fs);1563 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->gs);1567 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->ds); 1568 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->es); 1569 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->fs); 1570 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->gs); 1564 1571 1565 1572 /** @todo check if the hidden bits are loaded correctly for 64-bit … … 1900 1907 PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx); 1901 1908 NOREF(cbInstr); 1909 1910 Log(("iemCImpl_iret_prot: rip=%#llx ds=%#x es=%#x\n", pCtx->rip, pCtx->ds.Sel, pCtx->es.Sel)); 1902 1911 1903 1912 /* … … 2142 2151 2143 2152 pIemCpu->uCpl = uNewCs & X86_SEL_RPL; 2144 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->ds);2145 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->es);2146 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->fs);2147 iemHlpAdjustSelectorForNewCpl( uNewCs & X86_SEL_RPL, &pCtx->gs);2153 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->ds); 2154 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->es); 2155 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->fs); 2156 iemHlpAdjustSelectorForNewCpl(pIemCpu, uNewCs & X86_SEL_RPL, &pCtx->gs); 2148 2157 2149 2158 /* Done! */
Note:
See TracChangeset
for help on using the changeset viewer.