Lines Matching refs:task_switch
437 tss32_save(struct vmctx *ctx, int vcpu, struct vm_task_switch *task_switch, in tss32_save() argument
461 if (task_switch->reason == TSR_IRET) in tss32_save()
710 struct vm_task_switch *task_switch; in vmexit_task_switch() local
720 task_switch = &vmexit->u.task_switch; in vmexit_task_switch()
721 nt_sel = task_switch->tsssel; in vmexit_task_switch()
722 ext = vmexit->u.task_switch.ext; in vmexit_task_switch()
723 reason = vmexit->u.task_switch.reason; in vmexit_task_switch()
724 paging = &vmexit->u.task_switch.paging; in vmexit_task_switch()
744 error = read_tss_descriptor(ctx, vcpu, task_switch, nt_sel, &nt_desc, in vmexit_task_switch()
811 sel_exception(ctx, vcpu, IDT_TS, ot_sel, task_switch->ext); in vmexit_task_switch()
824 error = read_tss_descriptor(ctx, vcpu, task_switch, ot_sel, &ot_desc, in vmexit_task_switch()
851 tss32_save(ctx, vcpu, task_switch, eip, &oldtss, ot_iov); in vmexit_task_switch()
884 error = tss32_restore(ctx, vcpu, task_switch, ot_sel, &newtss, nt_iov, in vmexit_task_switch()
893 if (task_switch->errcode_valid) { in vmexit_task_switch()
894 assert(task_switch->ext); in vmexit_task_switch()
895 assert(task_switch->reason == TSR_IDT_GATE); in vmexit_task_switch()
896 error = push_errcode(ctx, vcpu, &task_switch->paging, nt_type, in vmexit_task_switch()
897 task_switch->errcode, &fault); in vmexit_task_switch()
931 if (task_switch->reason == TSR_IDT_GATE) { in vmexit_task_switch()