Lines Matching refs:seg

547 static unsigned long seg_base(struct x86_emulate_ctxt *ctxt, int seg)  in seg_base()  argument
549 if (ctxt->mode == X86EMUL_MODE_PROT64 && seg < VCPU_SREG_FS) in seg_base()
552 return ctxt->ops->get_cached_segment_base(ctxt, seg); in seg_base()
600 static u16 get_segment_selector(struct x86_emulate_ctxt *ctxt, unsigned seg) in get_segment_selector() argument
605 ctxt->ops->get_segment(ctxt, &selector, &desc, NULL, seg); in get_segment_selector()
610 unsigned seg) in set_segment_selector() argument
616 ctxt->ops->get_segment(ctxt, &dummy, &desc, &base3, seg); in set_segment_selector()
617 ctxt->ops->set_segment(ctxt, selector, &desc, base3, seg); in set_segment_selector()
655 la = seg_base(ctxt, addr.seg) + addr.ea; in __linearize()
668 addr.seg); in __linearize()
702 if (addr.seg == VCPU_SREG_SS) in __linearize()
724 struct segmented_address addr = { .seg = VCPU_SREG_CS, in assign_eip()
795 struct segmented_address addr = { .seg = VCPU_SREG_CS, in __do_insn_fetch_bytes()
1540 u16 selector, int seg, u8 cpl, in __load_segment_descriptor() argument
1559 ctxt->ops->get_segment(ctxt, &dummy, &seg_desc, NULL, seg); in __load_segment_descriptor()
1562 } else if (seg <= VCPU_SREG_GS && ctxt->mode == X86EMUL_MODE_VM86) { in __load_segment_descriptor()
1576 if ((seg == VCPU_SREG_CS in __load_segment_descriptor()
1577 || (seg == VCPU_SREG_SS in __load_segment_descriptor()
1579 || seg == VCPU_SREG_TR) in __load_segment_descriptor()
1584 if (seg == VCPU_SREG_TR && (selector & (1 << 2))) in __load_segment_descriptor()
1599 if (seg <= VCPU_SREG_GS && !seg_desc.s) { in __load_segment_descriptor()
1606 err_vec = (seg == VCPU_SREG_SS) ? SS_VECTOR : NP_VECTOR; in __load_segment_descriptor()
1612 switch (seg) { in __load_segment_descriptor()
1692 ctxt->ops->set_segment(ctxt, selector, &seg_desc, base3, seg); in __load_segment_descriptor()
1701 u16 selector, int seg) in load_segment_descriptor() argument
1704 return __load_segment_descriptor(ctxt, selector, seg, cpl, in load_segment_descriptor()
1759 addr.seg = VCPU_SREG_SS; in push()
1778 addr.seg = VCPU_SREG_SS; in emulate_pop()
1873 int seg = ctxt->src2.val; in em_push_sreg() local
1875 ctxt->src.val = get_segment_selector(ctxt, seg); in em_push_sreg()
1886 int seg = ctxt->src2.val; in em_pop_sreg() local
1899 rc = load_segment_descriptor(ctxt, (u16)selector, seg); in em_pop_sreg()
2251 int seg = ctxt->src2.val; in em_lseg() local
2257 rc = load_segment_descriptor(ctxt, sel, seg); in em_lseg()
4362 op->addr.mem.seg = VCPU_SREG_ES; in decode_operand()
4416 op->addr.mem.seg = ctxt->seg_override; in decode_operand()
4427 op->addr.mem.seg = ctxt->seg_override; in decode_operand()
4714 ctxt->memop.addr.mem.seg = ctxt->seg_override; in x86_decode_insn()