Lines Matching refs:tss
34 static void save_state_to_tss32(CPUState *cpu, struct x86_tss_segment32 *tss) in save_state_to_tss32() argument
40 tss->eip = (uint32_t)env->eip; in save_state_to_tss32()
41 tss->eflags = (uint32_t)env->eflags; in save_state_to_tss32()
42 tss->eax = EAX(env); in save_state_to_tss32()
43 tss->ecx = ECX(env); in save_state_to_tss32()
44 tss->edx = EDX(env); in save_state_to_tss32()
45 tss->ebx = EBX(env); in save_state_to_tss32()
46 tss->esp = ESP(env); in save_state_to_tss32()
47 tss->ebp = EBP(env); in save_state_to_tss32()
48 tss->esi = ESI(env); in save_state_to_tss32()
49 tss->edi = EDI(env); in save_state_to_tss32()
51 tss->es = vmx_read_segment_selector(cpu, R_ES).sel; in save_state_to_tss32()
52 tss->cs = vmx_read_segment_selector(cpu, R_CS).sel; in save_state_to_tss32()
53 tss->ss = vmx_read_segment_selector(cpu, R_SS).sel; in save_state_to_tss32()
54 tss->ds = vmx_read_segment_selector(cpu, R_DS).sel; in save_state_to_tss32()
55 tss->fs = vmx_read_segment_selector(cpu, R_FS).sel; in save_state_to_tss32()
56 tss->gs = vmx_read_segment_selector(cpu, R_GS).sel; in save_state_to_tss32()
59 static void load_state_from_tss32(CPUState *cpu, struct x86_tss_segment32 *tss) in load_state_from_tss32() argument
64 wvmcs(cpu->accel->fd, VMCS_GUEST_CR3, tss->cr3); in load_state_from_tss32()
66 env->eip = tss->eip; in load_state_from_tss32()
67 env->eflags = tss->eflags | 2; in load_state_from_tss32()
70 RAX(env) = tss->eax; in load_state_from_tss32()
71 RCX(env) = tss->ecx; in load_state_from_tss32()
72 RDX(env) = tss->edx; in load_state_from_tss32()
73 RBX(env) = tss->ebx; in load_state_from_tss32()
74 RSP(env) = tss->esp; in load_state_from_tss32()
75 RBP(env) = tss->ebp; in load_state_from_tss32()
76 RSI(env) = tss->esi; in load_state_from_tss32()
77 RDI(env) = tss->edi; in load_state_from_tss32()
79 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->ldt}}, R_LDTR); in load_state_from_tss32()
80 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->es}}, R_ES); in load_state_from_tss32()
81 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->cs}}, R_CS); in load_state_from_tss32()
82 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->ss}}, R_SS); in load_state_from_tss32()
83 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->ds}}, R_DS); in load_state_from_tss32()
84 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->fs}}, R_FS); in load_state_from_tss32()
85 vmx_write_segment_selector(cpu, (x68_segment_selector){{tss->gs}}, R_GS); in load_state_from_tss32()