Lines Matching refs:tss
3022 struct tss_segment_16 *tss) in save_state_to_tss16() argument
3024 tss->ip = ctxt->_eip; in save_state_to_tss16()
3025 tss->flag = ctxt->eflags; in save_state_to_tss16()
3026 tss->ax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss16()
3027 tss->cx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss16()
3028 tss->dx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss16()
3029 tss->bx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss16()
3030 tss->sp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss16()
3031 tss->bp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss16()
3032 tss->si = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss16()
3033 tss->di = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss16()
3035 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss16()
3036 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss16()
3037 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss16()
3038 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss16()
3039 tss->ldt = get_segment_selector(ctxt, VCPU_SREG_LDTR); in save_state_to_tss16()
3043 struct tss_segment_16 *tss) in load_state_from_tss16() argument
3048 ctxt->_eip = tss->ip; in load_state_from_tss16()
3049 ctxt->eflags = tss->flag | 2; in load_state_from_tss16()
3050 *reg_write(ctxt, VCPU_REGS_RAX) = tss->ax; in load_state_from_tss16()
3051 *reg_write(ctxt, VCPU_REGS_RCX) = tss->cx; in load_state_from_tss16()
3052 *reg_write(ctxt, VCPU_REGS_RDX) = tss->dx; in load_state_from_tss16()
3053 *reg_write(ctxt, VCPU_REGS_RBX) = tss->bx; in load_state_from_tss16()
3054 *reg_write(ctxt, VCPU_REGS_RSP) = tss->sp; in load_state_from_tss16()
3055 *reg_write(ctxt, VCPU_REGS_RBP) = tss->bp; in load_state_from_tss16()
3056 *reg_write(ctxt, VCPU_REGS_RSI) = tss->si; in load_state_from_tss16()
3057 *reg_write(ctxt, VCPU_REGS_RDI) = tss->di; in load_state_from_tss16()
3063 set_segment_selector(ctxt, tss->ldt, VCPU_SREG_LDTR); in load_state_from_tss16()
3064 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss16()
3065 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss16()
3066 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss16()
3067 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss16()
3069 cpl = tss->cs & 3; in load_state_from_tss16()
3075 ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, in load_state_from_tss16()
3079 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss16()
3083 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss16()
3087 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss16()
3091 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss16()
3135 struct tss_segment_32 *tss) in save_state_to_tss32() argument
3138 tss->eip = ctxt->_eip; in save_state_to_tss32()
3139 tss->eflags = ctxt->eflags; in save_state_to_tss32()
3140 tss->eax = reg_read(ctxt, VCPU_REGS_RAX); in save_state_to_tss32()
3141 tss->ecx = reg_read(ctxt, VCPU_REGS_RCX); in save_state_to_tss32()
3142 tss->edx = reg_read(ctxt, VCPU_REGS_RDX); in save_state_to_tss32()
3143 tss->ebx = reg_read(ctxt, VCPU_REGS_RBX); in save_state_to_tss32()
3144 tss->esp = reg_read(ctxt, VCPU_REGS_RSP); in save_state_to_tss32()
3145 tss->ebp = reg_read(ctxt, VCPU_REGS_RBP); in save_state_to_tss32()
3146 tss->esi = reg_read(ctxt, VCPU_REGS_RSI); in save_state_to_tss32()
3147 tss->edi = reg_read(ctxt, VCPU_REGS_RDI); in save_state_to_tss32()
3149 tss->es = get_segment_selector(ctxt, VCPU_SREG_ES); in save_state_to_tss32()
3150 tss->cs = get_segment_selector(ctxt, VCPU_SREG_CS); in save_state_to_tss32()
3151 tss->ss = get_segment_selector(ctxt, VCPU_SREG_SS); in save_state_to_tss32()
3152 tss->ds = get_segment_selector(ctxt, VCPU_SREG_DS); in save_state_to_tss32()
3153 tss->fs = get_segment_selector(ctxt, VCPU_SREG_FS); in save_state_to_tss32()
3154 tss->gs = get_segment_selector(ctxt, VCPU_SREG_GS); in save_state_to_tss32()
3158 struct tss_segment_32 *tss) in load_state_from_tss32() argument
3163 if (ctxt->ops->set_cr(ctxt, 3, tss->cr3)) in load_state_from_tss32()
3165 ctxt->_eip = tss->eip; in load_state_from_tss32()
3166 ctxt->eflags = tss->eflags | 2; in load_state_from_tss32()
3169 *reg_write(ctxt, VCPU_REGS_RAX) = tss->eax; in load_state_from_tss32()
3170 *reg_write(ctxt, VCPU_REGS_RCX) = tss->ecx; in load_state_from_tss32()
3171 *reg_write(ctxt, VCPU_REGS_RDX) = tss->edx; in load_state_from_tss32()
3172 *reg_write(ctxt, VCPU_REGS_RBX) = tss->ebx; in load_state_from_tss32()
3173 *reg_write(ctxt, VCPU_REGS_RSP) = tss->esp; in load_state_from_tss32()
3174 *reg_write(ctxt, VCPU_REGS_RBP) = tss->ebp; in load_state_from_tss32()
3175 *reg_write(ctxt, VCPU_REGS_RSI) = tss->esi; in load_state_from_tss32()
3176 *reg_write(ctxt, VCPU_REGS_RDI) = tss->edi; in load_state_from_tss32()
3183 set_segment_selector(ctxt, tss->ldt_selector, VCPU_SREG_LDTR); in load_state_from_tss32()
3184 set_segment_selector(ctxt, tss->es, VCPU_SREG_ES); in load_state_from_tss32()
3185 set_segment_selector(ctxt, tss->cs, VCPU_SREG_CS); in load_state_from_tss32()
3186 set_segment_selector(ctxt, tss->ss, VCPU_SREG_SS); in load_state_from_tss32()
3187 set_segment_selector(ctxt, tss->ds, VCPU_SREG_DS); in load_state_from_tss32()
3188 set_segment_selector(ctxt, tss->fs, VCPU_SREG_FS); in load_state_from_tss32()
3189 set_segment_selector(ctxt, tss->gs, VCPU_SREG_GS); in load_state_from_tss32()
3201 cpl = tss->cs & 3; in load_state_from_tss32()
3208 ret = __load_segment_descriptor(ctxt, tss->ldt_selector, VCPU_SREG_LDTR, in load_state_from_tss32()
3212 ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, in load_state_from_tss32()
3216 ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, in load_state_from_tss32()
3220 ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, in load_state_from_tss32()
3224 ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, in load_state_from_tss32()
3228 ret = __load_segment_descriptor(ctxt, tss->fs, VCPU_SREG_FS, cpl, in load_state_from_tss32()
3232 ret = __load_segment_descriptor(ctxt, tss->gs, VCPU_SREG_GS, cpl, in load_state_from_tss32()