Recording the MemoryRegion pointers isn't helpful, especially since no trace data allows us to correlate those pointers to devices. Instead, record the MemoryRegion name.
Signed-off-by: Hollis Blanchard <hollis_blanch...@mentor.com> --- memory.c | 12 ++++++------ trace-events | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/memory.c b/memory.c index c435c88..9bd4c31 100644 --- a/memory.c +++ b/memory.c @@ -381,7 +381,7 @@ static MemTxResult memory_region_oldmmio_read_accessor(MemoryRegion *mr, uint64_t tmp; tmp = mr->ops->old_mmio.read[ctz32(size)](mr->opaque, addr); - trace_memory_region_ops_read(mr, addr, tmp, size); + trace_memory_region_ops_read(mr->name, addr, tmp, size); *value |= (tmp & mask) << shift; return MEMTX_OK; } @@ -397,7 +397,7 @@ static MemTxResult memory_region_read_accessor(MemoryRegion *mr, uint64_t tmp; tmp = mr->ops->read(mr->opaque, addr, size); - trace_memory_region_ops_read(mr, addr, tmp, size); + trace_memory_region_ops_read(mr->name, addr, tmp, size); *value |= (tmp & mask) << shift; return MEMTX_OK; } @@ -414,7 +414,7 @@ static MemTxResult memory_region_read_with_attrs_accessor(MemoryRegion *mr, MemTxResult r; r = mr->ops->read_with_attrs(mr->opaque, addr, &tmp, size, attrs); - trace_memory_region_ops_read(mr, addr, tmp, size); + trace_memory_region_ops_read(mr->name, addr, tmp, size); *value |= (tmp & mask) << shift; return r; } @@ -430,7 +430,7 @@ static MemTxResult memory_region_oldmmio_write_accessor(MemoryRegion *mr, uint64_t tmp; tmp = (*value >> shift) & mask; - trace_memory_region_ops_write(mr, addr, tmp, size); + trace_memory_region_ops_write(mr->name, addr, tmp, size); mr->ops->old_mmio.write[ctz32(size)](mr->opaque, addr, tmp); return MEMTX_OK; } @@ -446,7 +446,7 @@ static MemTxResult memory_region_write_accessor(MemoryRegion *mr, uint64_t tmp; tmp = (*value >> shift) & mask; - trace_memory_region_ops_write(mr, addr, tmp, size); + trace_memory_region_ops_write(mr->name, addr, tmp, size); mr->ops->write(mr->opaque, addr, tmp, size); return MEMTX_OK; } @@ -462,7 +462,7 @@ static MemTxResult memory_region_write_with_attrs_accessor(MemoryRegion *mr, uint64_t tmp; tmp = (*value >> shift) & mask; - trace_memory_region_ops_write(mr, addr, tmp, size); + trace_memory_region_ops_write(mr->name, addr, tmp, size); return mr->ops->write_with_attrs(mr->opaque, addr, tmp, size, attrs); } diff --git a/trace-events b/trace-events index ef6bc41..23c11c3 100644 --- a/trace-events +++ b/trace-events @@ -1594,8 +1594,8 @@ disable exec_tb_exit(void *next_tb, unsigned int flags) "tb:%p flags=%x" translate_block(void *tb, uintptr_t pc, uint8_t *tb_code) "tb:%p, pc:0x%"PRIxPTR", tb_code:%p" # memory.c -memory_region_ops_read(void *mr, uint64_t addr, uint64_t value, unsigned size) "mr %p addr %#"PRIx64" value %#"PRIx64" size %u" -memory_region_ops_write(void *mr, uint64_t addr, uint64_t value, unsigned size) "mr %p addr %#"PRIx64" value %#"PRIx64" size %u" +memory_region_ops_read(const char *mr_name, uint64_t addr, uint64_t value, unsigned size) "dev %s addr %#"PRIx64" value %#"PRIx64" size %u" +memory_region_ops_write(const char *mr_name, uint64_t addr, uint64_t value, unsigned size) "dev %s addr %#"PRIx64" value %#"PRIx64" size %u" # qom/object.c object_dynamic_cast_assert(const char *type, const char *target, const char *file, int line, const char *func) "%s->%s (%s:%d:%s)" -- 1.9.1