Lines Matching refs:selector
656 u16 selector; in get_segment_selector() local
659 ctxt->ops->get_segment(ctxt, &selector, &desc, NULL, seg); in get_segment_selector()
660 return selector; in get_segment_selector()
663 static void set_segment_selector(struct x86_emulate_ctxt *ctxt, u16 selector, in set_segment_selector() argument
671 ctxt->ops->set_segment(ctxt, selector, &desc, base3, seg); in set_segment_selector()
799 u16 selector; in emulator_recalc_and_set_mode() local
820 if (!ctxt->ops->get_segment(ctxt, &selector, &cs, &base3, VCPU_SREG_CS)) in emulator_recalc_and_set_mode()
1590 u16 selector, struct desc_ptr *dt) in get_descriptor_table_ptr() argument
1595 if (selector & 1 << 2) { in get_descriptor_table_ptr()
1611 u16 selector, ulong *desc_addr_p) in get_descriptor_ptr() argument
1614 u16 index = selector >> 3; in get_descriptor_ptr()
1617 get_descriptor_table_ptr(ctxt, selector, &dt); in get_descriptor_ptr()
1620 return emulate_gp(ctxt, selector & 0xfffc); in get_descriptor_ptr()
1640 u16 selector, struct desc_struct *desc, in read_segment_descriptor() argument
1645 rc = get_descriptor_ptr(ctxt, selector, desc_addr_p); in read_segment_descriptor()
1654 u16 selector, struct desc_struct *desc) in write_segment_descriptor() argument
1659 rc = get_descriptor_ptr(ctxt, selector, &addr); in write_segment_descriptor()
1667 u16 selector, int seg, u8 cpl, in __load_segment_descriptor() argument
1675 bool null_selector = !(selector & ~0x3); /* 0000-0003 are null */ in __load_segment_descriptor()
1687 set_desc_base(&seg_desc, selector << 4); in __load_segment_descriptor()
1691 set_desc_base(&seg_desc, selector << 4); in __load_segment_descriptor()
1700 rpl = selector & 3; in __load_segment_descriptor()
1703 if (seg == VCPU_SREG_TR && (selector & (1 << 2))) in __load_segment_descriptor()
1731 ret = read_segment_descriptor(ctxt, selector, &seg_desc, &desc_addr); in __load_segment_descriptor()
1735 err_code = selector & 0xfffc; in __load_segment_descriptor()
1780 selector = (selector & 0xfffc) | cpl; in __load_segment_descriptor()
1812 ret = write_segment_descriptor(ctxt, selector, in __load_segment_descriptor()
1835 ctxt->ops->set_segment(ctxt, selector, &seg_desc, base3, seg); in __load_segment_descriptor()
1844 u16 selector, int seg) in load_segment_descriptor() argument
1858 if (seg == VCPU_SREG_SS && selector == 3 && in load_segment_descriptor()
1862 return __load_segment_descriptor(ctxt, selector, seg, cpl, in load_segment_descriptor()
2045 unsigned long selector; in em_pop_sreg() local
2048 rc = emulate_pop(ctxt, &selector, 2); in em_pop_sreg()
2057 rc = load_segment_descriptor(ctxt, (u16)selector, seg); in em_pop_sreg()
2440 u16 selector; in rsm_load_seg_32() local
2442 selector = GET_SMSTATE(u32, smstate, 0x7fa8 + n * 4); in rsm_load_seg_32()
2452 ctxt->ops->set_segment(ctxt, selector, &desc, 0, n); in rsm_load_seg_32()
2462 u16 selector; in rsm_load_seg_64() local
2467 selector = GET_SMSTATE(u16, smstate, offset); in rsm_load_seg_64()
2473 ctxt->ops->set_segment(ctxt, selector, &desc, base3, n); in rsm_load_seg_64()
2528 u16 selector; in rsm_load_state_32() local
2545 selector = GET_SMSTATE(u32, smstate, 0x7fc4); in rsm_load_state_32()
2549 ctxt->ops->set_segment(ctxt, selector, &desc, 0, VCPU_SREG_TR); in rsm_load_state_32()
2551 selector = GET_SMSTATE(u32, smstate, 0x7fc0); in rsm_load_state_32()
2555 ctxt->ops->set_segment(ctxt, selector, &desc, 0, VCPU_SREG_LDTR); in rsm_load_state_32()
2586 u16 selector; in rsm_load_state_64() local
2607 selector = GET_SMSTATE(u32, smstate, 0x7e90); in rsm_load_state_64()
2612 ctxt->ops->set_segment(ctxt, selector, &desc, base3, VCPU_SREG_TR); in rsm_load_state_64()
2618 selector = GET_SMSTATE(u32, smstate, 0x7e70); in rsm_load_state_64()
2623 ctxt->ops->set_segment(ctxt, selector, &desc, base3, VCPU_SREG_LDTR); in rsm_load_state_64()