Lines Matching refs:tss

3009 				struct tss_segment_16 *tss)  in save_state_to_tss16()  argument
3011 tss->ip = ctxt->_eip; in save_state_to_tss16()
3012 tss->flag = ctxt->eflags; in save_state_to_tss16()
3013 tss->ax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss16()
3014 tss->cx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss16()
3015 tss->dx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss16()
3016 tss->bx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss16()
3017 tss->sp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss16()
3018 tss->bp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss16()
3019 tss->si = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss16()
3020 tss->di = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss16()
3022 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss16()
3023 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss16()
3024 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss16()
3025 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss16()
3026 tss->ldt = get_segment_selector(ctxt, VCPU_SREG_LDTR); in save_state_to_tss16()
3030 struct tss_segment_16 *tss) in load_state_from_tss16() argument
3035 ctxt->_eip = tss->ip; in load_state_from_tss16()
3036 ctxt->eflags = tss->flag | 2; in load_state_from_tss16()
3037 *reg_write(ctxt, VCPU_REGS_RAX) = tss->ax; in load_state_from_tss16()
3038 *reg_write(ctxt, VCPU_REGS_RCX) = tss->cx; in load_state_from_tss16()
3039 *reg_write(ctxt, VCPU_REGS_RDX) = tss->dx; in load_state_from_tss16()
3040 *reg_write(ctxt, VCPU_REGS_RBX) = tss->bx; in load_state_from_tss16()
3041 *reg_write(ctxt, VCPU_REGS_RSP) = tss->sp; in load_state_from_tss16()
3042 *reg_write(ctxt, VCPU_REGS_RBP) = tss->bp; in load_state_from_tss16()
3043 *reg_write(ctxt, VCPU_REGS_RSI) = tss->si; in load_state_from_tss16()
3044 *reg_write(ctxt, VCPU_REGS_RDI) = tss->di; in load_state_from_tss16()
3050 set_segment_selector(ctxt, tss->ldt, VCPU_SREG_LDTR); in load_state_from_tss16()
3051 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss16()
3052 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss16()
3053 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss16()
3054 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss16()
3056 cpl = tss->cs & 3; in load_state_from_tss16()
3062 ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, in load_state_from_tss16()
3066 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss16()
3070 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss16()
3074 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss16()
3078 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss16()
3121 struct tss_segment_32 *tss) in save_state_to_tss32() argument
3124 tss->eip = ctxt->_eip; in save_state_to_tss32()
3125 tss->eflags = ctxt->eflags; in save_state_to_tss32()
3126 tss->eax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss32()
3127 tss->ecx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss32()
3128 tss->edx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss32()
3129 tss->ebx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss32()
3130 tss->esp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss32()
3131 tss->ebp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss32()
3132 tss->esi = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss32()
3133 tss->edi = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss32()
3135 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss32()
3136 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss32()
3137 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss32()
3138 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss32()
3139 tss->fs = get_segment_selector(ctxt, VCPU_SREG_FS); in save_state_to_tss32()
3140 tss->gs = get_segment_selector(ctxt, VCPU_SREG_GS); in save_state_to_tss32()
3144 struct tss_segment_32 *tss) in load_state_from_tss32() argument
3149 if (ctxt->ops->set_cr(ctxt, 3, tss->cr3)) in load_state_from_tss32()
3151 ctxt->_eip = tss->eip; in load_state_from_tss32()
3152 ctxt->eflags = tss->eflags | 2; in load_state_from_tss32()
3155 *reg_write(ctxt, VCPU_REGS_RAX) = tss->eax; in load_state_from_tss32()
3156 *reg_write(ctxt, VCPU_REGS_RCX) = tss->ecx; in load_state_from_tss32()
3157 *reg_write(ctxt, VCPU_REGS_RDX) = tss->edx; in load_state_from_tss32()
3158 *reg_write(ctxt, VCPU_REGS_RBX) = tss->ebx; in load_state_from_tss32()
3159 *reg_write(ctxt, VCPU_REGS_RSP) = tss->esp; in load_state_from_tss32()
3160 *reg_write(ctxt, VCPU_REGS_RBP) = tss->ebp; in load_state_from_tss32()
3161 *reg_write(ctxt, VCPU_REGS_RSI) = tss->esi; in load_state_from_tss32()
3162 *reg_write(ctxt, VCPU_REGS_RDI) = tss->edi; in load_state_from_tss32()
3169 set_segment_selector(ctxt, tss->ldt_selector, VCPU_SREG_LDTR); in load_state_from_tss32()
3170 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss32()
3171 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss32()
3172 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss32()
3173 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss32()
3174 set_segment_selector(ctxt, tss->fs, VCPU_SREG_FS); in load_state_from_tss32()
3175 set_segment_selector(ctxt, tss->gs, VCPU_SREG_GS); in load_state_from_tss32()
3187 cpl = tss->cs & 3; in load_state_from_tss32()
3194 ret = __load_segment_descriptor(ctxt, tss->ldt_selector, VCPU_SREG_LDTR, in load_state_from_tss32()
3198 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss32()
3202 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss32()
3206 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss32()
3210 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss32()
3214 ret = __load_segment_descriptor(ctxt, tss->fs, VCPU_SREG_FS, cpl, in load_state_from_tss32()
3218 ret = __load_segment_descriptor(ctxt, tss->gs, VCPU_SREG_GS, cpl, in load_state_from_tss32()