Lines Matching refs:selector

630 	u16 selector;
633 ctxt->ops->get_segment(ctxt, &selector, &desc, NULL, seg);
634 return selector;
637 static void set_segment_selector(struct x86_emulate_ctxt *ctxt, u16 selector,
645 ctxt->ops->set_segment(ctxt, selector, &desc, base3, seg);
785 u16 selector;
806 if (!ctxt->ops->get_segment(ctxt, &selector, &cs, &base3, VCPU_SREG_CS))
1476 u16 selector, struct desc_ptr *dt)
1481 if (selector & 1 << 2) {
1497 u16 selector, ulong *desc_addr_p)
1500 u16 index = selector >> 3;
1503 get_descriptor_table_ptr(ctxt, selector, &dt);
1506 return emulate_gp(ctxt, selector & 0xfffc);
1526 u16 selector, struct desc_struct *desc,
1531 rc = get_descriptor_ptr(ctxt, selector, desc_addr_p);
1540 u16 selector, struct desc_struct *desc)
1545 rc = get_descriptor_ptr(ctxt, selector, &addr);
1553 u16 selector, int seg, u8 cpl,
1561 bool null_selector = !(selector & ~0x3); /* 0000-0003 are null */
1573 set_desc_base(&seg_desc, selector << 4);
1577 set_desc_base(&seg_desc, selector << 4);
1586 rpl = selector & 3;
1589 if (seg == VCPU_SREG_TR && (selector & (1 << 2)))
1592 /* NULL selector is not valid for TR, CS and (except for long mode) SS */
1617 ret = read_segment_descriptor(ctxt, selector, &seg_desc, &desc_addr);
1621 err_code = selector & 0xfffc;
1625 /* can't load system descriptor into segment selector */
1638 * selector's RPL != CPL or DPL != CPL
1694 selector = (selector & 0xfffc) | cpl;
1726 ret = write_segment_descriptor(ctxt, selector,
1749 ctxt->ops->set_segment(ctxt, selector, &seg_desc, base3, seg);
1758 u16 selector, int seg)
1763 * None of MOV, POP and LSS can load a NULL selector in CPL=3, but
1772 if (seg == VCPU_SREG_SS && selector == 3 &&
1776 return __load_segment_descriptor(ctxt, selector, seg, cpl,
1958 unsigned long selector = 0;
1961 rc = emulate_pop(ctxt, &selector, 2);
1970 rc = load_segment_descriptor(ctxt, (u16)selector, seg);
2782 /* CR3 and ldt selector are not saved intentionally */