Lines Matching refs:tss
2665 struct tss_segment_16 *tss) in save_state_to_tss16() argument
2667 tss->ip = ctxt->_eip; in save_state_to_tss16()
2668 tss->flag = ctxt->eflags; in save_state_to_tss16()
2669 tss->ax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss16()
2670 tss->cx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss16()
2671 tss->dx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss16()
2672 tss->bx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss16()
2673 tss->sp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss16()
2674 tss->bp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss16()
2675 tss->si = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss16()
2676 tss->di = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss16()
2678 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss16()
2679 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss16()
2680 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss16()
2681 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss16()
2682 tss->ldt = get_segment_selector(ctxt, VCPU_SREG_LDTR); in save_state_to_tss16()
2686 struct tss_segment_16 *tss) in load_state_from_tss16() argument
2691 ctxt->_eip = tss->ip; in load_state_from_tss16()
2692 ctxt->eflags = tss->flag | 2; in load_state_from_tss16()
2693 *reg_write(ctxt, VCPU_REGS_RAX) = tss->ax; in load_state_from_tss16()
2694 *reg_write(ctxt, VCPU_REGS_RCX) = tss->cx; in load_state_from_tss16()
2695 *reg_write(ctxt, VCPU_REGS_RDX) = tss->dx; in load_state_from_tss16()
2696 *reg_write(ctxt, VCPU_REGS_RBX) = tss->bx; in load_state_from_tss16()
2697 *reg_write(ctxt, VCPU_REGS_RSP) = tss->sp; in load_state_from_tss16()
2698 *reg_write(ctxt, VCPU_REGS_RBP) = tss->bp; in load_state_from_tss16()
2699 *reg_write(ctxt, VCPU_REGS_RSI) = tss->si; in load_state_from_tss16()
2700 *reg_write(ctxt, VCPU_REGS_RDI) = tss->di; in load_state_from_tss16()
2706 set_segment_selector(ctxt, tss->ldt, VCPU_SREG_LDTR); in load_state_from_tss16()
2707 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss16()
2708 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss16()
2709 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss16()
2710 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss16()
2712 cpl = tss->cs & 3; in load_state_from_tss16()
2718 ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, in load_state_from_tss16()
2722 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss16()
2726 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss16()
2730 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss16()
2734 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss16()
2777 struct tss_segment_32 *tss) in save_state_to_tss32() argument
2780 tss->eip = ctxt->_eip; in save_state_to_tss32()
2781 tss->eflags = ctxt->eflags; in save_state_to_tss32()
2782 tss->eax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss32()
2783 tss->ecx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss32()
2784 tss->edx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss32()
2785 tss->ebx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss32()
2786 tss->esp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss32()
2787 tss->ebp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss32()
2788 tss->esi = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss32()
2789 tss->edi = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss32()
2791 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss32()
2792 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss32()
2793 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss32()
2794 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss32()
2795 tss->fs = get_segment_selector(ctxt, VCPU_SREG_FS); in save_state_to_tss32()
2796 tss->gs = get_segment_selector(ctxt, VCPU_SREG_GS); in save_state_to_tss32()
2800 struct tss_segment_32 *tss) in load_state_from_tss32() argument
2805 if (ctxt->ops->set_cr(ctxt, 3, tss->cr3)) in load_state_from_tss32()
2807 ctxt->_eip = tss->eip; in load_state_from_tss32()
2808 ctxt->eflags = tss->eflags | 2; in load_state_from_tss32()
2811 *reg_write(ctxt, VCPU_REGS_RAX) = tss->eax; in load_state_from_tss32()
2812 *reg_write(ctxt, VCPU_REGS_RCX) = tss->ecx; in load_state_from_tss32()
2813 *reg_write(ctxt, VCPU_REGS_RDX) = tss->edx; in load_state_from_tss32()
2814 *reg_write(ctxt, VCPU_REGS_RBX) = tss->ebx; in load_state_from_tss32()
2815 *reg_write(ctxt, VCPU_REGS_RSP) = tss->esp; in load_state_from_tss32()
2816 *reg_write(ctxt, VCPU_REGS_RBP) = tss->ebp; in load_state_from_tss32()
2817 *reg_write(ctxt, VCPU_REGS_RSI) = tss->esi; in load_state_from_tss32()
2818 *reg_write(ctxt, VCPU_REGS_RDI) = tss->edi; in load_state_from_tss32()
2825 set_segment_selector(ctxt, tss->ldt_selector, VCPU_SREG_LDTR); in load_state_from_tss32()
2826 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss32()
2827 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss32()
2828 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss32()
2829 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss32()
2830 set_segment_selector(ctxt, tss->fs, VCPU_SREG_FS); in load_state_from_tss32()
2831 set_segment_selector(ctxt, tss->gs, VCPU_SREG_GS); in load_state_from_tss32()
2843 cpl = tss->cs & 3; in load_state_from_tss32()
2850 ret = __load_segment_descriptor(ctxt, tss->ldt_selector, VCPU_SREG_LDTR, in load_state_from_tss32()
2854 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss32()
2858 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss32()
2862 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss32()
2866 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss32()
2870 ret = __load_segment_descriptor(ctxt, tss->fs, VCPU_SREG_FS, cpl, in load_state_from_tss32()
2874 ret = __load_segment_descriptor(ctxt, tss->gs, VCPU_SREG_GS, cpl, in load_state_from_tss32()