Lines Matching refs:task_switch
435 tss32_save(struct vmctx *ctx, int vcpu, struct vm_task_switch *task_switch, in tss32_save() argument
459 if (task_switch->reason == TSR_IRET) in tss32_save()
708 struct vm_task_switch *task_switch; in vmexit_task_switch() local
718 task_switch = &vmexit->u.task_switch; in vmexit_task_switch()
719 nt_sel = task_switch->tsssel; in vmexit_task_switch()
720 ext = vmexit->u.task_switch.ext; in vmexit_task_switch()
721 reason = vmexit->u.task_switch.reason; in vmexit_task_switch()
722 paging = &vmexit->u.task_switch.paging; in vmexit_task_switch()
742 error = read_tss_descriptor(ctx, vcpu, task_switch, nt_sel, &nt_desc, in vmexit_task_switch()
809 sel_exception(ctx, vcpu, IDT_TS, ot_sel, task_switch->ext); in vmexit_task_switch()
822 error = read_tss_descriptor(ctx, vcpu, task_switch, ot_sel, &ot_desc, in vmexit_task_switch()
849 tss32_save(ctx, vcpu, task_switch, eip, &oldtss, ot_iov); in vmexit_task_switch()
882 error = tss32_restore(ctx, vcpu, task_switch, ot_sel, &newtss, nt_iov, in vmexit_task_switch()
891 if (task_switch->errcode_valid) { in vmexit_task_switch()
892 assert(task_switch->ext); in vmexit_task_switch()
893 assert(task_switch->reason == TSR_IDT_GATE); in vmexit_task_switch()
894 error = push_errcode(ctx, vcpu, &task_switch->paging, nt_type, in vmexit_task_switch()
895 task_switch->errcode, &fault); in vmexit_task_switch()
929 if (task_switch->reason == TSR_IDT_GATE) { in vmexit_task_switch()