Message ID | 20180511035240.4016-7-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Honor CPU_DUMP_FPU | expand |
On 11.05.2018 05:52, Richard Henderson wrote: > Also do not dump both "fpu" and "vector" registers > as the former overlaps the latter. > > Cc: Alexander Graf <agraf@suse.de> > Cc: David Hildenbrand <david@redhat.com> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/s390x/helper.c | 23 ++++++++++++----------- > 1 file changed, 12 insertions(+), 11 deletions(-) > > diff --git a/target/s390x/helper.c b/target/s390x/helper.c > index e8548f340a..fd5791f134 100644 > --- a/target/s390x/helper.c > +++ b/target/s390x/helper.c > @@ -327,21 +327,22 @@ void s390_cpu_dump_state(CPUState *cs, FILE *f, fprintf_function cpu_fprintf, > } > } > > - for (i = 0; i < 16; i++) { > - cpu_fprintf(f, "F%02d=%016" PRIx64, i, get_freg(env, i)->ll); > - if ((i % 4) == 3) { > - cpu_fprintf(f, "\n"); > + if (flags & CPU_DUMP_FPU) { > + if (s390_has_feat(S390_FEAT_VECTOR)) { CPU model should always be initialized at this point, so this check actually returns the right thing. Reviewed-by: David Hildenbrand <david@redhat.com> > + for (i = 0; i < 32; i++) { > + cpu_fprintf(f, "V%02d=%016" PRIx64 "%016" PRIx64 "%c", > + i, env->vregs[i][0].ll, env->vregs[i][1].ll, > + i % 2 ? '\n' : ' '); > + } > } else { > - cpu_fprintf(f, " "); > + for (i = 0; i < 16; i++) { > + cpu_fprintf(f, "F%02d=%016" PRIx64 "%c", > + i, get_freg(env, i)->ll, > + (i % 4) == 3 ? '\n' : ' '); > + } > } > } > > - for (i = 0; i < 32; i++) { > - cpu_fprintf(f, "V%02d=%016" PRIx64 "%016" PRIx64, i, > - env->vregs[i][0].ll, env->vregs[i][1].ll); > - cpu_fprintf(f, (i % 2) ? "\n" : " "); > - } > - > #ifndef CONFIG_USER_ONLY > for (i = 0; i < 16; i++) { > cpu_fprintf(f, "C%02d=%016" PRIx64, i, env->cregs[i]); > -- Thanks, David / dhildenb
diff --git a/target/s390x/helper.c b/target/s390x/helper.c index e8548f340a..fd5791f134 100644 --- a/target/s390x/helper.c +++ b/target/s390x/helper.c @@ -327,21 +327,22 @@ void s390_cpu_dump_state(CPUState *cs, FILE *f, fprintf_function cpu_fprintf, } } - for (i = 0; i < 16; i++) { - cpu_fprintf(f, "F%02d=%016" PRIx64, i, get_freg(env, i)->ll); - if ((i % 4) == 3) { - cpu_fprintf(f, "\n"); + if (flags & CPU_DUMP_FPU) { + if (s390_has_feat(S390_FEAT_VECTOR)) { + for (i = 0; i < 32; i++) { + cpu_fprintf(f, "V%02d=%016" PRIx64 "%016" PRIx64 "%c", + i, env->vregs[i][0].ll, env->vregs[i][1].ll, + i % 2 ? '\n' : ' '); + } } else { - cpu_fprintf(f, " "); + for (i = 0; i < 16; i++) { + cpu_fprintf(f, "F%02d=%016" PRIx64 "%c", + i, get_freg(env, i)->ll, + (i % 4) == 3 ? '\n' : ' '); + } } } - for (i = 0; i < 32; i++) { - cpu_fprintf(f, "V%02d=%016" PRIx64 "%016" PRIx64, i, - env->vregs[i][0].ll, env->vregs[i][1].ll); - cpu_fprintf(f, (i % 2) ? "\n" : " "); - } - #ifndef CONFIG_USER_ONLY for (i = 0; i < 16; i++) { cpu_fprintf(f, "C%02d=%016" PRIx64, i, env->cregs[i]);
Also do not dump both "fpu" and "vector" registers as the former overlaps the latter. Cc: Alexander Graf <agraf@suse.de> Cc: David Hildenbrand <david@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/s390x/helper.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) -- 2.17.0