Lines Matching refs:next_tss_desc
3350 struct desc_struct curr_tss_desc, next_tss_desc; in emulator_do_task_switch() local
3360 ret = read_segment_descriptor(ctxt, tss_selector, &next_tss_desc, &desc_addr); in emulator_do_task_switch()
3394 desc_limit = desc_limit_scaled(&next_tss_desc); in emulator_do_task_switch()
3395 if (!next_tss_desc.p || in emulator_do_task_switch()
3396 ((desc_limit < 0x67 && (next_tss_desc.type & 8)) || in emulator_do_task_switch()
3414 if (next_tss_desc.type & 8) in emulator_do_task_switch()
3416 old_tss_base, &next_tss_desc); in emulator_do_task_switch()
3419 old_tss_base, &next_tss_desc); in emulator_do_task_switch()
3427 next_tss_desc.type |= (1 << 1); /* set busy flag */ in emulator_do_task_switch()
3428 write_segment_descriptor(ctxt, tss_selector, &next_tss_desc); in emulator_do_task_switch()
3432 ops->set_segment(ctxt, tss_selector, &next_tss_desc, 0, VCPU_SREG_TR); in emulator_do_task_switch()
3435 ctxt->op_bytes = ctxt->ad_bytes = (next_tss_desc.type & 8) ? 4 : 2; in emulator_do_task_switch()