Message ID | 1350430115-23724-1-git-send-email-aurelien@aurel32.net |
---|---|
State | New |
Headers | show |
On Wed, 17 Oct 2012 01:28:34 +0200 Aurelien Jarno <aurelien@aurel32.net> wrote: > 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 <lcapitulino@redhat.com> > Cc: Markus Armbruster <armbru@redhat.com> > Cc: Blue Swirl <blauwirbel@gmail.com> > Signed-off-by: Aurelien Jarno <aurelien@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); This patch changes qmp_query_cpus() to never set pc, so why do you print it? > monitor_printf(mon, "npc=0x%016" PRIx64, cpu->value->npc); > } > if (cpu->value->has_PC) {
On Tue, Oct 16, 2012 at 11:01:45PM -0300, Luiz Capitulino wrote: > On Wed, 17 Oct 2012 01:28:34 +0200 > Aurelien Jarno <aurelien@aurel32.net> wrote: > > > 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 <lcapitulino@redhat.com> > > Cc: Markus Armbruster <armbru@redhat.com> > > Cc: Blue Swirl <blauwirbel@gmail.com> > > Signed-off-by: Aurelien Jarno <aurelien@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); > > This patch changes qmp_query_cpus() to never set pc, so why do you print it? Well the print part of the code isn't change beside adding a space at the end. With the current code, has_npc implies has_pc, that's why I have removed the latter from qmp_query_cpus() in the sparc case. If you prefer to change this behavior and not have has_npc implying has_pc, I can send another patch. > > monitor_printf(mon, "npc=0x%016" PRIx64, cpu->value->npc); > > } > > if (cpu->value->has_PC) { > >
On Wed, 17 Oct 2012 08:06:13 +0200 Aurelien Jarno <aurelien@aurel32.net> wrote: > On Tue, Oct 16, 2012 at 11:01:45PM -0300, Luiz Capitulino wrote: > > On Wed, 17 Oct 2012 01:28:34 +0200 > > Aurelien Jarno <aurelien@aurel32.net> wrote: > > > > > 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 <lcapitulino@redhat.com> > > > Cc: Markus Armbruster <armbru@redhat.com> > > > Cc: Blue Swirl <blauwirbel@gmail.com> > > > Signed-off-by: Aurelien Jarno <aurelien@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); > > > > This patch changes qmp_query_cpus() to never set pc, so why do you print it? > > Well the print part of the code isn't change beside adding a space at > the end. With the current code, has_npc implies has_pc, that's why I > have removed the latter from qmp_query_cpus() in the sparc case. My point is that you dropped the pc assignment along: - info->value->pc = env->pc; So, value->pc will be zeroed. > If you prefer to change this behavior and not have has_npc implying > has_pc, I can send another patch. If pc is going to contain relevant info, then we have to set has_pc even if has_npc implies it. If your point is that pc is irrelevant, then we have to set has_pc to false and drop its printing from HMP. > > > > monitor_printf(mon, "npc=0x%016" PRIx64, cpu->value->npc); > > > } > > > if (cpu->value->has_PC) { > > > > >
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) {
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 <lcapitulino@redhat.com> Cc: Markus Armbruster <armbru@redhat.com> Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> --- cpus.c | 2 -- hmp.c | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-)