memory_dump() takes either hwaddr or vaddr type, depending on the @is_physical argument. Simply use uint64_t type which is common to both. Pad address using field width formatting, removing the need for the target_ulong type.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- monitor/hmp-cmds-target.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/monitor/hmp-cmds-target.c b/monitor/hmp-cmds-target.c index 2976f986d35..c00f75eab3c 100644 --- a/monitor/hmp-cmds-target.c +++ b/monitor/hmp-cmds-target.c @@ -122,12 +122,13 @@ void hmp_info_registers(Monitor *mon, const QDict *qdict) } static void memory_dump(Monitor *mon, int count, int format, int wsize, - hwaddr addr, int is_physical) + uint64_t addr, int is_physical) { int l, line_size, i, max_digits, len; uint8_t buf[16]; uint64_t v; CPUState *cs = mon_get_cpu(mon); + const unsigned int addr_width = is_physical ? 8 : (target_long_bits() * 2); if (!cs && (format == 'i' || !is_physical)) { monitor_printf(mon, "Can not dump without CPU\n"); @@ -165,11 +166,7 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize, } while (len > 0) { - if (is_physical) { - monitor_printf(mon, HWADDR_FMT_plx ":", addr); - } else { - monitor_printf(mon, TARGET_FMT_lx ":", (target_ulong)addr); - } + monitor_printf(mon, "%0*" PRIx64 ":", addr_width, addr); l = len; if (l > line_size) l = line_size; -- 2.52.0
