Lines Matching refs:seg_desc

120 static struct seg_desc
123 struct seg_desc seg_desc; in usd_to_seg_desc() local
125 seg_desc.base = (u_int)USD_GETBASE(usd); in usd_to_seg_desc()
127 seg_desc.limit = (u_int)(USD_GETLIMIT(usd) << 12) | 0xfff; in usd_to_seg_desc()
129 seg_desc.limit = (u_int)USD_GETLIMIT(usd); in usd_to_seg_desc()
130 seg_desc.access = usd->sd_type | usd->sd_dpl << 5 | usd->sd_p << 7; in usd_to_seg_desc()
131 seg_desc.access |= usd->sd_xx << 12; in usd_to_seg_desc()
132 seg_desc.access |= usd->sd_def32 << 14; in usd_to_seg_desc()
133 seg_desc.access |= usd->sd_gran << 15; in usd_to_seg_desc()
135 return (seg_desc); in usd_to_seg_desc()
310 int segment, struct seg_desc *seg_desc, int *faultptr) in validate_seg_desc() argument
362 seg_desc->base = 0; in validate_seg_desc()
363 seg_desc->limit = 0; in validate_seg_desc()
364 seg_desc->access = 0x10000; /* unusable */ in validate_seg_desc()
430 *seg_desc = usd_to_seg_desc(&usd); in validate_seg_desc()
468 update_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *sd) in update_seg_desc()
483 struct seg_desc seg_desc, seg_desc2; in tss32_restore() local
563 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_LDTR, &seg_desc, in tss32_restore()
567 update_seg_desc(vcpu, VM_REG_GUEST_LDTR, &seg_desc); in tss32_restore()
578 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_CS, &seg_desc, in tss32_restore()
587 update_seg_desc(vcpu, VM_REG_GUEST_CS, &seg_desc); in tss32_restore()
591 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_DS, &seg_desc, in tss32_restore()
595 update_seg_desc(vcpu, VM_REG_GUEST_DS, &seg_desc); in tss32_restore()
597 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_ES, &seg_desc, in tss32_restore()
601 update_seg_desc(vcpu, VM_REG_GUEST_ES, &seg_desc); in tss32_restore()
603 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_FS, &seg_desc, in tss32_restore()
607 update_seg_desc(vcpu, VM_REG_GUEST_FS, &seg_desc); in tss32_restore()
609 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_GS, &seg_desc, in tss32_restore()
613 update_seg_desc(vcpu, VM_REG_GUEST_GS, &seg_desc); in tss32_restore()
628 struct seg_desc seg_desc; in push_errcode() local
640 error = vm_get_desc(vcpu, VM_REG_GUEST_SS, &seg_desc.base, in push_errcode()
641 &seg_desc.limit, &seg_desc.access); in push_errcode()
659 if (SEG_DESC_DEF32(seg_desc.access)) in push_errcode()
668 &seg_desc, esp, bytes, stacksize, PROT_WRITE, &gla)) { in push_errcode()
708 struct seg_desc nt; in vmexit_task_switch()