On sparc targets, info cpus returns this kind of output: | info cpus | * CPU #0: pc=0x0000000000424d18pc=0x0000000000424d18npc=0x0000000000424d1c thread_id=19460
pc is printed twice, there is no space between pc, pc and npc. As npc implies pc, don't set has_pc on sparc, and add a space between pc and npc. Cc: Luiz Capitulino <lcapitul...@redhat.com> Cc: Markus Armbruster <arm...@redhat.com> Cc: Blue Swirl <blauwir...@gmail.com> Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> --- cpus.c | 2 -- hmp.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/cpus.c b/cpus.c index 750a76f..cbc8556 100644 --- a/cpus.c +++ b/cpus.c @@ -1216,8 +1216,6 @@ CpuInfoList *qmp_query_cpus(Error **errp) info->value->has_nip = true; info->value->nip = env->nip; #elif defined(TARGET_SPARC) - info->value->has_pc = true; - info->value->pc = env->pc; info->value->has_npc = true; info->value->npc = env->npc; #elif defined(TARGET_MIPS) diff --git a/hmp.c b/hmp.c index 70bdec2..64b6ab5 100644 --- a/hmp.c +++ b/hmp.c @@ -242,7 +242,7 @@ void hmp_info_cpus(Monitor *mon) monitor_printf(mon, "nip=0x%016" PRIx64, cpu->value->nip); } if (cpu->value->has_npc) { - monitor_printf(mon, "pc=0x%016" PRIx64, cpu->value->pc); + monitor_printf(mon, "pc=0x%016 " PRIx64, cpu->value->pc); monitor_printf(mon, "npc=0x%016" PRIx64, cpu->value->npc); } if (cpu->value->has_PC) { -- 1.7.10.4