diff --git a/cpu-all.h b/cpu-all.h index 931ea052dc..247674c637 100644 --- a/cpu-all.h +++ b/cpu-all.h @@ -599,10 +599,21 @@ int cpu_register_io_memory(int io_index, CPUReadMemoryFunc **mem_read, CPUWriteMemoryFunc **mem_write); -void cpu_physical_memory_rw(CPUState *env, uint8_t *buf, target_ulong addr, +void cpu_physical_memory_rw(target_ulong addr, uint8_t *buf, int len, int is_write); -int cpu_memory_rw_debug(CPUState *env, - uint8_t *buf, target_ulong addr, int len, int is_write); +static inline void cpu_physical_memory_read(target_ulong addr, uint8_t *buf, + int len) +{ + cpu_physical_memory_rw(addr, buf, len, 0); +} +static inline void cpu_physical_memory_write(target_ulong addr, const uint8_t *buf, + int len) +{ + cpu_physical_memory_rw(addr, (uint8_t *)buf, len, 1); +} + +int cpu_memory_rw_debug(CPUState *env, target_ulong addr, + uint8_t *buf, int len, int is_write); /* read dirty bit (return 0 or 1) */ static inline int cpu_physical_memory_is_dirty(target_ulong addr) diff --git a/gdbstub.c b/gdbstub.c index 4fa4af79a3..29f73c9cbc 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -472,7 +472,7 @@ int cpu_gdbstub(void *opaque, int (*main_loop)(void *opaque), int port) if (*p == ',') p++; len = strtoul(p, NULL, 16); - if (cpu_memory_rw_debug(env, mem_buf, addr, len, 0) != 0) + if (cpu_memory_rw_debug(env, addr, mem_buf, len, 0) != 0) memset(mem_buf, 0, len); memtohex(buf, mem_buf, len); put_packet(buf); @@ -486,7 +486,7 @@ int cpu_gdbstub(void *opaque, int (*main_loop)(void *opaque), int port) if (*p == ',') p++; hextomem(mem_buf, p, len); - if (cpu_memory_rw_debug(env, mem_buf, addr, len, 1) != 0) + if (cpu_memory_rw_debug(env, addr, mem_buf, len, 1) != 0) put_packet("ENN"); else put_packet("OK");