Lines Matching refs:mem_buf

104 static int gdb_get_reg(CPUX86State *env, GByteArray *mem_buf, target_ulong val)  in gdb_get_reg()  argument
108 return gdb_get_reg64(mem_buf, val); in gdb_get_reg()
110 return gdb_get_reg64(mem_buf, val & 0xffffffffUL); in gdb_get_reg()
113 return gdb_get_reg32(mem_buf, val); in gdb_get_reg()
117 int x86_cpu_gdb_read_register(CPUState *cs, GByteArray *mem_buf, int n) in x86_cpu_gdb_read_register() argument
131 return gdb_get_reg64(mem_buf, env->regs[gpr_map[n]]); in x86_cpu_gdb_read_register()
133 return gdb_get_reg64(mem_buf, in x86_cpu_gdb_read_register()
136 return gdb_get_regl(mem_buf, 0); in x86_cpu_gdb_read_register()
139 return gdb_get_reg32(mem_buf, env->regs[gpr_map32[n]]); in x86_cpu_gdb_read_register()
145 int len = gdb_get_reg64(mem_buf, cpu_to_le64(fp->low)); in x86_cpu_gdb_read_register()
146 len += gdb_get_reg16(mem_buf, cpu_to_le16(fp->high)); in x86_cpu_gdb_read_register()
151 return gdb_get_reg128(mem_buf, in x86_cpu_gdb_read_register()
158 return gdb_get_reg(env, mem_buf, env->eip); in x86_cpu_gdb_read_register()
160 return gdb_get_reg32(mem_buf, env->eflags); in x86_cpu_gdb_read_register()
163 return gdb_get_reg32(mem_buf, env->segs[R_CS].selector); in x86_cpu_gdb_read_register()
165 return gdb_get_reg32(mem_buf, env->segs[R_SS].selector); in x86_cpu_gdb_read_register()
167 return gdb_get_reg32(mem_buf, env->segs[R_DS].selector); in x86_cpu_gdb_read_register()
169 return gdb_get_reg32(mem_buf, env->segs[R_ES].selector); in x86_cpu_gdb_read_register()
171 return gdb_get_reg32(mem_buf, env->segs[R_FS].selector); in x86_cpu_gdb_read_register()
173 return gdb_get_reg32(mem_buf, env->segs[R_GS].selector); in x86_cpu_gdb_read_register()
175 return gdb_read_reg_cs64(env->hflags, mem_buf, env->segs[R_FS].base); in x86_cpu_gdb_read_register()
177 return gdb_read_reg_cs64(env->hflags, mem_buf, env->segs[R_GS].base); in x86_cpu_gdb_read_register()
181 return gdb_read_reg_cs64(env->hflags, mem_buf, env->kernelgsbase); in x86_cpu_gdb_read_register()
183 return gdb_get_reg32(mem_buf, 0); in x86_cpu_gdb_read_register()
187 return gdb_get_reg32(mem_buf, env->fpuc); in x86_cpu_gdb_read_register()
189 return gdb_get_reg32(mem_buf, (env->fpus & ~0x3800) | in x86_cpu_gdb_read_register()
192 return gdb_get_reg32(mem_buf, 0); /* ftag */ in x86_cpu_gdb_read_register()
194 return gdb_get_reg32(mem_buf, 0); /* fiseg */ in x86_cpu_gdb_read_register()
196 return gdb_get_reg32(mem_buf, 0); /* fioff */ in x86_cpu_gdb_read_register()
198 return gdb_get_reg32(mem_buf, 0); /* foseg */ in x86_cpu_gdb_read_register()
200 return gdb_get_reg32(mem_buf, 0); /* fooff */ in x86_cpu_gdb_read_register()
202 return gdb_get_reg32(mem_buf, 0); /* fop */ in x86_cpu_gdb_read_register()
206 return gdb_get_reg32(mem_buf, env->mxcsr); in x86_cpu_gdb_read_register()
209 return gdb_read_reg_cs64(env->hflags, mem_buf, env->cr[0]); in x86_cpu_gdb_read_register()
211 return gdb_read_reg_cs64(env->hflags, mem_buf, env->cr[2]); in x86_cpu_gdb_read_register()
213 return gdb_read_reg_cs64(env->hflags, mem_buf, env->cr[3]); in x86_cpu_gdb_read_register()
215 return gdb_read_reg_cs64(env->hflags, mem_buf, env->cr[4]); in x86_cpu_gdb_read_register()
222 return gdb_read_reg_cs64(env->hflags, mem_buf, tpr); in x86_cpu_gdb_read_register()
225 return gdb_read_reg_cs64(env->hflags, mem_buf, env->efer); in x86_cpu_gdb_read_register()
231 static int x86_cpu_gdb_load_seg(X86CPU *cpu, X86Seg sreg, uint8_t *mem_buf) in x86_cpu_gdb_load_seg() argument
234 uint16_t selector = ldl_p(mem_buf); in x86_cpu_gdb_load_seg()
261 static int gdb_write_reg(CPUX86State *env, uint8_t *mem_buf, target_ulong *val) in gdb_write_reg() argument
265 *val = ldq_p(mem_buf); in gdb_write_reg()
267 *val = ldq_p(mem_buf) & 0xffffffffUL; in gdb_write_reg()
271 *val = (uint32_t)ldl_p(mem_buf); in gdb_write_reg()
276 int x86_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n) in x86_cpu_gdb_write_register() argument
290 env->regs[gpr_map[n]] = ldtul_p(mem_buf); in x86_cpu_gdb_write_register()
292 env->regs[gpr_map[n]] = ldtul_p(mem_buf) & 0xffffffffUL; in x86_cpu_gdb_write_register()
298 env->regs[n] |= (uint32_t)ldl_p(mem_buf); in x86_cpu_gdb_write_register()
303 fp->low = le64_to_cpu(* (uint64_t *) mem_buf); in x86_cpu_gdb_write_register()
304 fp->high = le16_to_cpu(* (uint16_t *) (mem_buf + 8)); in x86_cpu_gdb_write_register()
309 env->xmm_regs[n].ZMM_Q(0) = ldq_p(mem_buf); in x86_cpu_gdb_write_register()
310 env->xmm_regs[n].ZMM_Q(1) = ldq_p(mem_buf + 8); in x86_cpu_gdb_write_register()
316 return gdb_write_reg(env, mem_buf, &env->eip); in x86_cpu_gdb_write_register()
318 env->eflags = ldl_p(mem_buf); in x86_cpu_gdb_write_register()
322 return x86_cpu_gdb_load_seg(cpu, R_CS, mem_buf); in x86_cpu_gdb_write_register()
324 return x86_cpu_gdb_load_seg(cpu, R_SS, mem_buf); in x86_cpu_gdb_write_register()
326 return x86_cpu_gdb_load_seg(cpu, R_DS, mem_buf); in x86_cpu_gdb_write_register()
328 return x86_cpu_gdb_load_seg(cpu, R_ES, mem_buf); in x86_cpu_gdb_write_register()
330 return x86_cpu_gdb_load_seg(cpu, R_FS, mem_buf); in x86_cpu_gdb_write_register()
332 return x86_cpu_gdb_load_seg(cpu, R_GS, mem_buf); in x86_cpu_gdb_write_register()
334 return gdb_write_reg_cs64(env->hflags, mem_buf, &env->segs[R_FS].base); in x86_cpu_gdb_write_register()
336 return gdb_write_reg_cs64(env->hflags, mem_buf, &env->segs[R_GS].base); in x86_cpu_gdb_write_register()
339 return gdb_write_reg_cs64(env->hflags, mem_buf, &env->kernelgsbase); in x86_cpu_gdb_write_register()
344 cpu_set_fpuc(env, ldl_p(mem_buf)); in x86_cpu_gdb_write_register()
347 tmp = ldl_p(mem_buf); in x86_cpu_gdb_write_register()
365 cpu_set_mxcsr(env, ldl_p(mem_buf)); in x86_cpu_gdb_write_register()
369 len = gdb_write_reg_cs64(env->hflags, mem_buf, &tmp); in x86_cpu_gdb_write_register()
376 len = gdb_write_reg_cs64(env->hflags, mem_buf, &tmp); in x86_cpu_gdb_write_register()
383 len = gdb_write_reg_cs64(env->hflags, mem_buf, &tmp); in x86_cpu_gdb_write_register()
390 len = gdb_write_reg_cs64(env->hflags, mem_buf, &tmp); in x86_cpu_gdb_write_register()
397 len = gdb_write_reg_cs64(env->hflags, mem_buf, &tmp); in x86_cpu_gdb_write_register()
404 len = gdb_write_reg_cs64(env->hflags, mem_buf, &tmp); in x86_cpu_gdb_write_register()
419 static int x86_cpu_gdb_read_linux_register(CPUState *cs, GByteArray *mem_buf, in x86_cpu_gdb_read_linux_register() argument
427 return gdb_get_reg(env, mem_buf, get_task_state(cs)->orig_ax); in x86_cpu_gdb_read_linux_register()
432 static int x86_cpu_gdb_write_linux_register(CPUState *cs, uint8_t *mem_buf, in x86_cpu_gdb_write_linux_register() argument
440 return gdb_write_reg(env, mem_buf, &get_task_state(cs)->orig_ax); in x86_cpu_gdb_write_linux_register()