Revision 8b1f24b0
b/cpu-all.h | ||
---|---|---|
599 | 599 |
CPUReadMemoryFunc **mem_read, |
600 | 600 |
CPUWriteMemoryFunc **mem_write); |
601 | 601 |
|
602 |
void cpu_physical_memory_rw(CPUState *env, uint8_t *buf, target_ulong addr,
|
|
602 |
void cpu_physical_memory_rw(target_ulong addr, uint8_t *buf,
|
|
603 | 603 |
int len, int is_write); |
604 |
int cpu_memory_rw_debug(CPUState *env, |
|
605 |
uint8_t *buf, target_ulong addr, int len, int is_write); |
|
604 |
static inline void cpu_physical_memory_read(target_ulong addr, uint8_t *buf, |
|
605 |
int len) |
|
606 |
{ |
|
607 |
cpu_physical_memory_rw(addr, buf, len, 0); |
|
608 |
} |
|
609 |
static inline void cpu_physical_memory_write(target_ulong addr, const uint8_t *buf, |
|
610 |
int len) |
|
611 |
{ |
|
612 |
cpu_physical_memory_rw(addr, (uint8_t *)buf, len, 1); |
|
613 |
} |
|
614 |
|
|
615 |
int cpu_memory_rw_debug(CPUState *env, target_ulong addr, |
|
616 |
uint8_t *buf, int len, int is_write); |
|
606 | 617 |
|
607 | 618 |
/* read dirty bit (return 0 or 1) */ |
608 | 619 |
static inline int cpu_physical_memory_is_dirty(target_ulong addr) |
b/gdbstub.c | ||
---|---|---|
472 | 472 |
if (*p == ',') |
473 | 473 |
p++; |
474 | 474 |
len = strtoul(p, NULL, 16); |
475 |
if (cpu_memory_rw_debug(env, mem_buf, addr, len, 0) != 0)
|
|
475 |
if (cpu_memory_rw_debug(env, addr, mem_buf, len, 0) != 0)
|
|
476 | 476 |
memset(mem_buf, 0, len); |
477 | 477 |
memtohex(buf, mem_buf, len); |
478 | 478 |
put_packet(buf); |
... | ... | |
486 | 486 |
if (*p == ',') |
487 | 487 |
p++; |
488 | 488 |
hextomem(mem_buf, p, len); |
489 |
if (cpu_memory_rw_debug(env, mem_buf, addr, len, 1) != 0)
|
|
489 |
if (cpu_memory_rw_debug(env, addr, mem_buf, len, 1) != 0)
|
|
490 | 490 |
put_packet("ENN"); |
491 | 491 |
else |
492 | 492 |
put_packet("OK"); |
Also available in: Unified diff