Lines Matching defs:Desc

1715     IEMSELDESC Desc;
1716 VBOXSTRICTRC rcStrict = iemMemFetchSelDesc(pIemCpu, &Desc, uSel, X86_XCPT_GP);
1721 if (!Desc.Legacy.Gen.u1Present) /** @todo this is probably checked too early. Testcase! */
1731 if (!Desc.Legacy.Gen.u1DescType)
1732 return IEM_CIMPL_CALL_4(iemCImpl_BranchSysSel, uSel, IEMBRANCH_JUMP, enmEffOpSize, &Desc);
1735 if (!(Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_CODE))
1737 Log(("jmpf %04x:%08RX64 -> not a code selector (u4Type=%#x).\n", uSel, offSeg, Desc.Legacy.Gen.u4Type));
1742 if ( Desc.Legacy.Gen.u1Long
1743 && Desc.Legacy.Gen.u1DefBig
1751 if (Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_CONF)
1753 if (pIemCpu->uCpl < Desc.Legacy.Gen.u2Dpl)
1756 uSel, offSeg, Desc.Legacy.Gen.u2Dpl, pIemCpu->uCpl));
1762 if (pIemCpu->uCpl != Desc.Legacy.Gen.u2Dpl)
1764 Log(("jmpf %04x:%08RX64 -> CPL != DPL; DPL=%d CPL=%u\n", uSel, offSeg, Desc.Legacy.Gen.u2Dpl, pIemCpu->uCpl));
1781 uint32_t cbLimit = X86DESC_LIMIT_G(&Desc.Legacy);
1792 u64Base = X86DESC_BASE(&Desc.Legacy);
1799 if (!(Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_ACCESSED))
1805 Desc.Legacy.Gen.u4Type |= X86_SEL_TYPE_ACCESSED;
1814 pCtx->cs.Attr.u = X86DESC_GET_HID_ATTR(&Desc.Legacy);
1895 IEMSELDESC Desc;
1896 rcStrict = iemMemFetchSelDesc(pIemCpu, &Desc, uSel, X86_XCPT_GP);
1904 if (!Desc.Legacy.Gen.u1DescType)
1905 return IEM_CIMPL_CALL_4(iemCImpl_BranchSysSel, uSel, IEMBRANCH_CALL, enmEffOpSize, &Desc);
1908 if (!(Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_CODE))
1910 Log(("callf %04x:%08RX64 -> not a code selector (u4Type=%#x).\n", uSel, offSeg, Desc.Legacy.Gen.u4Type));
1915 if ( Desc.Legacy.Gen.u1Long
1916 && Desc.Legacy.Gen.u1DefBig
1924 if (Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_CONF)
1926 if (pIemCpu->uCpl < Desc.Legacy.Gen.u2Dpl)
1929 uSel, offSeg, Desc.Legacy.Gen.u2Dpl, pIemCpu->uCpl));
1935 if (pIemCpu->uCpl != Desc.Legacy.Gen.u2Dpl)
1937 Log(("callf %04x:%08RX64 -> CPL != DPL; DPL=%d CPL=%u\n", uSel, offSeg, Desc.Legacy.Gen.u2Dpl, pIemCpu->uCpl));
1948 if (!Desc.Legacy.Gen.u1Present)
1970 uint32_t cbLimit = X86DESC_LIMIT_G(&Desc.Legacy);
1988 u64Base = X86DESC_BASE(&Desc.Legacy);
1997 if (!(Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_ACCESSED))
2003 Desc.Legacy.Gen.u4Type |= X86_SEL_TYPE_ACCESSED;
2032 pCtx->cs.Attr.u = X86DESC_GET_HID_ATTR(&Desc.Legacy);
3900 IEMSELDESC Desc;
3901 VBOXSTRICTRC rcStrict = iemMemFetchSelDesc(pIemCpu, &Desc, uSel, X86_XCPT_GP); /** @todo Correct exception? */
3906 if (!Desc.Legacy.Gen.u1DescType)
3908 Log(("load sreg %d - system selector (%#x) -> #GP\n", iSegReg, uSel, Desc.Legacy.Gen.u4Type));
3913 if ( (Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_CODE)
3914 || !(Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_WRITE) )
3916 Log(("load sreg SS, %#x - code or read only (%#x) -> #GP\n", uSel, Desc.Legacy.Gen.u4Type));
3924 if (Desc.Legacy.Gen.u2Dpl != pIemCpu->uCpl)
3926 Log(("load sreg SS, %#x - DPL (%d) and CPL (%d) differs -> #GP\n", uSel, Desc.Legacy.Gen.u2Dpl, pIemCpu->uCpl));
3932 if ((Desc.Legacy.Gen.u4Type & (X86_SEL_TYPE_CODE | X86_SEL_TYPE_READ)) == X86_SEL_TYPE_CODE)
3937 if ( (Desc.Legacy.Gen.u4Type & (X86_SEL_TYPE_CODE | X86_SEL_TYPE_CONF))
3941 if ( (uSel & X86_SEL_RPL) > Desc.Legacy.Gen.u2Dpl
3942 && pIemCpu->uCpl > Desc.Legacy.Gen.u2Dpl)
3945 iSegReg, uSel, (uSel & X86_SEL_RPL), pIemCpu->uCpl, Desc.Legacy.Gen.u2Dpl));
3949 if ((unsigned)(uSel & X86_SEL_RPL) > Desc.Legacy.Gen.u2Dpl)
3952 iSegReg, uSel, (uSel & X86_SEL_RPL), Desc.Legacy.Gen.u2Dpl));
3955 if (pIemCpu->uCpl > Desc.Legacy.Gen.u2Dpl)
3958 iSegReg, uSel, pIemCpu->uCpl, Desc.Legacy.Gen.u2Dpl));
3966 if (!Desc.Legacy.Gen.u1Present)
3973 uint32_t cbLimit = X86DESC_LIMIT_G(&Desc.Legacy);
3979 u64Base = X86DESC_BASE(&Desc.Legacy);
3985 if (!(Desc.Legacy.Gen.u4Type & X86_SEL_TYPE_ACCESSED))
3990 Desc.Legacy.Gen.u4Type |= X86_SEL_TYPE_ACCESSED;
3995 pHid->Attr.u = X86DESC_GET_HID_ATTR(&Desc.Legacy);
4200 IEMSELDESC Desc;
4201 VBOXSTRICTRC rcStrict = iemCImpl_LoadDescHelper(pIemCpu, uSel, false /*fAllowSysDesc*/, &Desc);
4205 if ( !Desc.Legacy.Gen.u1DescType
4206 || !Desc.Legacy.Gen.u1Present)
4211 ? (Desc.Legacy.Gen.u4Type & (X86_SEL_TYPE_CODE | X86_SEL_TYPE_WRITE)) != X86_SEL_TYPE_WRITE
4212 : (Desc.Legacy.Gen.u4Type & (X86_SEL_TYPE_CODE | X86_SEL_TYPE_READ)) == X86_SEL_TYPE_CODE)
4216 if ( (Desc.Legacy.Gen.u4Type & (X86_SEL_TYPE_CODE | X86_SEL_TYPE_CONF))
4219 if ((unsigned)(uSel & X86_SEL_RPL) > Desc.Legacy.Gen.u2Dpl)
4221 else if (pIemCpu->uCpl > Desc.Legacy.Gen.u2Dpl)
4256 IEMSELDESC Desc;
4257 VBOXSTRICTRC rcStrict = iemCImpl_LoadDescHelper(pIemCpu, uSel, false /*fAllowSysDesc*/, &Desc);
4263 if (!Desc.Legacy.Gen.u1DescType)
4267 if (Desc.Long.Gen.u5Zeros)
4270 switch (Desc.Long.Gen.u4Type)
4287 switch (Desc.Long.Gen.u4Type)
4312 if ( (Desc.Legacy.Gen.u4Type & (X86_SEL_TYPE_CODE | X86_SEL_TYPE_CONF)) != (X86_SEL_TYPE_CODE | X86_SEL_TYPE_CONF)
4313 || !Desc.Legacy.Gen.u1DescType)
4315 if ((unsigned)(uSel & X86_SEL_RPL) > Desc.Legacy.Gen.u2Dpl)
4317 else if (pIemCpu->uCpl > Desc.Legacy.Gen.u2Dpl)
4328 *pu64Dst = Desc.Legacy.au32[1] & UINT32_C(0x00ffff00);
4330 *pu64Dst = X86DESC_LIMIT_G(&Desc.Legacy);
4545 IEMSELDESC Desc;
4546 VBOXSTRICTRC rcStrict = iemMemFetchSelDesc(pIemCpu, &Desc, uNewLdt, X86_XCPT_GP); /** @todo Correct exception? */
4551 if (Desc.Legacy.Gen.u1DescType)
4553 Log(("lldt %#x - not system selector (type %x) -> #GP\n", uNewLdt, Desc.Legacy.Gen.u4Type));
4556 if (Desc.Legacy.Gen.u4Type != X86_SEL_TYPE_SYS_LDT)
4558 Log(("lldt %#x - not LDT selector (type %x) -> #GP\n", uNewLdt, Desc.Legacy.Gen.u4Type));
4563 u64Base = X86DESC_BASE(&Desc.Legacy);
4566 if (Desc.Long.Gen.u5Zeros)
4568 Log(("lldt %#x - u5Zeros=%#x -> #GP\n", uNewLdt, Desc.Long.Gen.u5Zeros));
4572 u64Base = X86DESC64_BASE(&Desc.Long);
4581 if (!Desc.Legacy.Gen.u1Present)
4597 pCtx->ldtr.Attr.u = X86DESC_GET_HID_ATTR(&Desc.Legacy);
4598 pCtx->ldtr.u32Limit = X86DESC_LIMIT_G(&Desc.Legacy);
4642 IEMSELDESC Desc;
4643 VBOXSTRICTRC rcStrict = iemMemFetchSelDesc(pIemCpu, &Desc, uNewTr, X86_XCPT_GP); /** @todo Correct exception? */
4648 if (Desc.Legacy.Gen.u1DescType)
4650 Log(("ltr %#x - not system selector (type %x) -> #GP\n", uNewTr, Desc.Legacy.Gen.u4Type));
4653 if ( Desc.Legacy.Gen.u4Type != X86_SEL_TYPE_SYS_386_TSS_AVAIL /* same as AMD64_SEL_TYPE_SYS_TSS_AVAIL */
4654 && ( Desc.Legacy.Gen.u4Type != X86_SEL_TYPE_SYS_286_TSS_AVAIL
4657 Log(("ltr %#x - not an available TSS selector (type %x) -> #GP\n", uNewTr, Desc.Legacy.Gen.u4Type));
4662 u64Base = X86DESC_BASE(&Desc.Legacy);
4665 if (Desc.Long.Gen.u5Zeros)
4667 Log(("ltr %#x - u5Zeros=%#x -> #GP\n", uNewTr, Desc.Long.Gen.u5Zeros));
4671 u64Base = X86DESC64_BASE(&Desc.Long);
4680 if (!Desc.Legacy.Gen.u1Present)
4706 Desc.Legacy.Gen.u4Type |= X86_SEL_TYPE_SYS_TSS_BUSY_MASK;
4718 pCtx->tr.Attr.u = X86DESC_GET_HID_ATTR(&Desc.Legacy);
4719 pCtx->tr.u32Limit = X86DESC_LIMIT_G(&Desc.Legacy);