Lines Matching refs:seg_desc

119 static struct seg_desc
122 struct seg_desc seg_desc; in usd_to_seg_desc() local
124 seg_desc.base = (u_int)USD_GETBASE(usd); in usd_to_seg_desc()
126 seg_desc.limit = (u_int)(USD_GETLIMIT(usd) << 12) | 0xfff; in usd_to_seg_desc()
128 seg_desc.limit = (u_int)USD_GETLIMIT(usd); in usd_to_seg_desc()
129 seg_desc.access = usd->sd_type | usd->sd_dpl << 5 | usd->sd_p << 7; in usd_to_seg_desc()
130 seg_desc.access |= usd->sd_xx << 12; in usd_to_seg_desc()
131 seg_desc.access |= usd->sd_def32 << 14; in usd_to_seg_desc()
132 seg_desc.access |= usd->sd_gran << 15; in usd_to_seg_desc()
134 return (seg_desc); in usd_to_seg_desc()
309 int segment, struct seg_desc *seg_desc, int *faultptr) in validate_seg_desc() argument
361 seg_desc->base = 0; in validate_seg_desc()
362 seg_desc->limit = 0; in validate_seg_desc()
363 seg_desc->access = 0x10000; /* unusable */ in validate_seg_desc()
429 *seg_desc = usd_to_seg_desc(&usd); in validate_seg_desc()
467 update_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *sd) in update_seg_desc()
482 struct seg_desc seg_desc, seg_desc2; in tss32_restore() local
562 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_LDTR, &seg_desc, in tss32_restore()
566 update_seg_desc(vcpu, VM_REG_GUEST_LDTR, &seg_desc); in tss32_restore()
577 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_CS, &seg_desc, in tss32_restore()
586 update_seg_desc(vcpu, VM_REG_GUEST_CS, &seg_desc); in tss32_restore()
590 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_DS, &seg_desc, in tss32_restore()
594 update_seg_desc(vcpu, VM_REG_GUEST_DS, &seg_desc); in tss32_restore()
596 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_ES, &seg_desc, in tss32_restore()
600 update_seg_desc(vcpu, VM_REG_GUEST_ES, &seg_desc); in tss32_restore()
602 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_FS, &seg_desc, in tss32_restore()
606 update_seg_desc(vcpu, VM_REG_GUEST_FS, &seg_desc); in tss32_restore()
608 error = validate_seg_desc(vcpu, ts, VM_REG_GUEST_GS, &seg_desc, in tss32_restore()
612 update_seg_desc(vcpu, VM_REG_GUEST_GS, &seg_desc); in tss32_restore()
627 struct seg_desc seg_desc; in push_errcode() local
639 error = vm_get_desc(vcpu, VM_REG_GUEST_SS, &seg_desc.base, in push_errcode()
640 &seg_desc.limit, &seg_desc.access); in push_errcode()
658 if (SEG_DESC_DEF32(seg_desc.access)) in push_errcode()
667 &seg_desc, esp, bytes, stacksize, PROT_WRITE, &gla)) { in push_errcode()
707 struct seg_desc nt; in vmexit_task_switch()