Lines Matching refs:tss
2577 struct tss_segment_16 *tss) in save_state_to_tss16() argument
2579 tss->ip = ctxt->_eip; in save_state_to_tss16()
2580 tss->flag = ctxt->eflags; in save_state_to_tss16()
2581 tss->ax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss16()
2582 tss->cx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss16()
2583 tss->dx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss16()
2584 tss->bx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss16()
2585 tss->sp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss16()
2586 tss->bp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss16()
2587 tss->si = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss16()
2588 tss->di = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss16()
2590 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss16()
2591 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss16()
2592 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss16()
2593 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss16()
2594 tss->ldt = get_segment_selector(ctxt, VCPU_SREG_LDTR); in save_state_to_tss16()
2598 struct tss_segment_16 *tss) in load_state_from_tss16() argument
2603 ctxt->_eip = tss->ip; in load_state_from_tss16()
2604 ctxt->eflags = tss->flag | 2; in load_state_from_tss16()
2605 *reg_write(ctxt, VCPU_REGS_RAX) = tss->ax; in load_state_from_tss16()
2606 *reg_write(ctxt, VCPU_REGS_RCX) = tss->cx; in load_state_from_tss16()
2607 *reg_write(ctxt, VCPU_REGS_RDX) = tss->dx; in load_state_from_tss16()
2608 *reg_write(ctxt, VCPU_REGS_RBX) = tss->bx; in load_state_from_tss16()
2609 *reg_write(ctxt, VCPU_REGS_RSP) = tss->sp; in load_state_from_tss16()
2610 *reg_write(ctxt, VCPU_REGS_RBP) = tss->bp; in load_state_from_tss16()
2611 *reg_write(ctxt, VCPU_REGS_RSI) = tss->si; in load_state_from_tss16()
2612 *reg_write(ctxt, VCPU_REGS_RDI) = tss->di; in load_state_from_tss16()
2618 set_segment_selector(ctxt, tss->ldt, VCPU_SREG_LDTR); in load_state_from_tss16()
2619 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss16()
2620 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss16()
2621 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss16()
2622 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss16()
2624 cpl = tss->cs & 3; in load_state_from_tss16()
2630 ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, in load_state_from_tss16()
2634 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss16()
2638 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss16()
2642 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss16()
2646 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss16()
2695 struct tss_segment_32 *tss) in save_state_to_tss32() argument
2698 tss->eip = ctxt->_eip; in save_state_to_tss32()
2699 tss->eflags = ctxt->eflags; in save_state_to_tss32()
2700 tss->eax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss32()
2701 tss->ecx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss32()
2702 tss->edx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss32()
2703 tss->ebx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss32()
2704 tss->esp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss32()
2705 tss->ebp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss32()
2706 tss->esi = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss32()
2707 tss->edi = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss32()
2709 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss32()
2710 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss32()
2711 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss32()
2712 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss32()
2713 tss->fs = get_segment_selector(ctxt, VCPU_SREG_FS); in save_state_to_tss32()
2714 tss->gs = get_segment_selector(ctxt, VCPU_SREG_GS); in save_state_to_tss32()
2718 struct tss_segment_32 *tss) in load_state_from_tss32() argument
2723 if (ctxt->ops->set_cr(ctxt, 3, tss->cr3)) in load_state_from_tss32()
2725 ctxt->_eip = tss->eip; in load_state_from_tss32()
2726 ctxt->eflags = tss->eflags | 2; in load_state_from_tss32()
2729 *reg_write(ctxt, VCPU_REGS_RAX) = tss->eax; in load_state_from_tss32()
2730 *reg_write(ctxt, VCPU_REGS_RCX) = tss->ecx; in load_state_from_tss32()
2731 *reg_write(ctxt, VCPU_REGS_RDX) = tss->edx; in load_state_from_tss32()
2732 *reg_write(ctxt, VCPU_REGS_RBX) = tss->ebx; in load_state_from_tss32()
2733 *reg_write(ctxt, VCPU_REGS_RSP) = tss->esp; in load_state_from_tss32()
2734 *reg_write(ctxt, VCPU_REGS_RBP) = tss->ebp; in load_state_from_tss32()
2735 *reg_write(ctxt, VCPU_REGS_RSI) = tss->esi; in load_state_from_tss32()
2736 *reg_write(ctxt, VCPU_REGS_RDI) = tss->edi; in load_state_from_tss32()
2743 set_segment_selector(ctxt, tss->ldt_selector, VCPU_SREG_LDTR); in load_state_from_tss32()
2744 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss32()
2745 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss32()
2746 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss32()
2747 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss32()
2748 set_segment_selector(ctxt, tss->fs, VCPU_SREG_FS); in load_state_from_tss32()
2749 set_segment_selector(ctxt, tss->gs, VCPU_SREG_GS); in load_state_from_tss32()
2761 cpl = tss->cs & 3; in load_state_from_tss32()
2768 ret = __load_segment_descriptor(ctxt, tss->ldt_selector, VCPU_SREG_LDTR, in load_state_from_tss32()
2772 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss32()
2776 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss32()
2780 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss32()
2784 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss32()
2788 ret = __load_segment_descriptor(ctxt, tss->fs, VCPU_SREG_FS, cpl, in load_state_from_tss32()
2792 ret = __load_segment_descriptor(ctxt, tss->gs, VCPU_SREG_GS, cpl, in load_state_from_tss32()