Lines Matching refs:seg_desc

122 static struct seg_desc
125 struct seg_desc seg_desc; in usd_to_seg_desc() local
127 seg_desc.base = (u_int)USD_GETBASE(usd); in usd_to_seg_desc()
129 seg_desc.limit = (u_int)(USD_GETLIMIT(usd) << 12) | 0xfff; in usd_to_seg_desc()
131 seg_desc.limit = (u_int)USD_GETLIMIT(usd); in usd_to_seg_desc()
132 seg_desc.access = usd->sd_type | usd->sd_dpl << 5 | usd->sd_p << 7; in usd_to_seg_desc()
133 seg_desc.access |= usd->sd_xx << 12; in usd_to_seg_desc()
134 seg_desc.access |= usd->sd_def32 << 14; in usd_to_seg_desc()
135 seg_desc.access |= usd->sd_gran << 15; in usd_to_seg_desc()
137 return (seg_desc); in usd_to_seg_desc()
312 int segment, struct seg_desc *seg_desc, int *faultptr) in validate_seg_desc() argument
364 seg_desc->base = 0; in validate_seg_desc()
365 seg_desc->limit = 0; in validate_seg_desc()
366 seg_desc->access = 0x10000; /* unusable */ in validate_seg_desc()
432 *seg_desc = usd_to_seg_desc(&usd); in validate_seg_desc()
470 update_seg_desc(struct vmctx *ctx, int vcpu, int reg, struct seg_desc *sd) in update_seg_desc()
485 struct seg_desc seg_desc, seg_desc2; in tss32_restore() local
565 error = validate_seg_desc(ctx, vcpu, ts, VM_REG_GUEST_LDTR, &seg_desc, in tss32_restore()
569 update_seg_desc(ctx, vcpu, VM_REG_GUEST_LDTR, &seg_desc); in tss32_restore()
580 error = validate_seg_desc(ctx, vcpu, ts, VM_REG_GUEST_CS, &seg_desc, in tss32_restore()
589 update_seg_desc(ctx, vcpu, VM_REG_GUEST_CS, &seg_desc); in tss32_restore()
593 error = validate_seg_desc(ctx, vcpu, ts, VM_REG_GUEST_DS, &seg_desc, in tss32_restore()
597 update_seg_desc(ctx, vcpu, VM_REG_GUEST_DS, &seg_desc); in tss32_restore()
599 error = validate_seg_desc(ctx, vcpu, ts, VM_REG_GUEST_ES, &seg_desc, in tss32_restore()
603 update_seg_desc(ctx, vcpu, VM_REG_GUEST_ES, &seg_desc); in tss32_restore()
605 error = validate_seg_desc(ctx, vcpu, ts, VM_REG_GUEST_FS, &seg_desc, in tss32_restore()
609 update_seg_desc(ctx, vcpu, VM_REG_GUEST_FS, &seg_desc); in tss32_restore()
611 error = validate_seg_desc(ctx, vcpu, ts, VM_REG_GUEST_GS, &seg_desc, in tss32_restore()
615 update_seg_desc(ctx, vcpu, VM_REG_GUEST_GS, &seg_desc); in tss32_restore()
630 struct seg_desc seg_desc; in push_errcode() local
642 error = vm_get_desc(ctx, vcpu, VM_REG_GUEST_SS, &seg_desc.base, in push_errcode()
643 &seg_desc.limit, &seg_desc.access); in push_errcode()
661 if (SEG_DESC_DEF32(seg_desc.access)) in push_errcode()
670 &seg_desc, esp, bytes, stacksize, PROT_WRITE, &gla)) { in push_errcode()
708 struct seg_desc nt; in vmexit_task_switch()