diff mbox series

[3/5] target/s390x: Improve s390_cpu_dump_state vs cc_op

Message ID 20210615030744.1252385-4-richard.henderson@linaro.org
State Superseded
Headers show
Series linux-user/s390x: Fix psw.mask handling in signals | expand

Commit Message

Richard Henderson June 15, 2021, 3:07 a.m. UTC
Use s390_cpu_get_psw_mask so that we print the correct
architectural value of psw.mask.  Do not print cc_op
unless tcg_enabled.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 target/s390x/helper.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

-- 
2.25.1

Comments

David Hildenbrand June 15, 2021, 7:51 a.m. UTC | #1
On 15.06.21 05:07, Richard Henderson wrote:
> Use s390_cpu_get_psw_mask so that we print the correct

> architectural value of psw.mask.  Do not print cc_op

> unless tcg_enabled.

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>   target/s390x/helper.c | 12 +++++++-----

>   1 file changed, 7 insertions(+), 5 deletions(-)

> 

> diff --git a/target/s390x/helper.c b/target/s390x/helper.c

> index 559fc3573f..1445b74451 100644

> --- a/target/s390x/helper.c

> +++ b/target/s390x/helper.c

> @@ -338,12 +338,14 @@ void s390_cpu_dump_state(CPUState *cs, FILE *f, int flags)

>       CPUS390XState *env = &cpu->env;

>       int i;

>   

> -    if (env->cc_op > 3) {

> -        qemu_fprintf(f, "PSW=mask %016" PRIx64 " addr %016" PRIx64 " cc %15s\n",

> -                     env->psw.mask, env->psw.addr, cc_name(env->cc_op));

> +    qemu_fprintf(f, "PSW=mask %016" PRIx64 " addr %016" PRIx64,

> +                 s390_cpu_get_psw_mask(env), env->psw.addr);

> +    if (!tcg_enabled()) {

> +        qemu_fprintf(f, "\n");

> +    } else if (env->cc_op > 3) {

> +        qemu_fprintf(f, " cc %15s\n", cc_name(env->cc_op));

>       } else {

> -        qemu_fprintf(f, "PSW=mask %016" PRIx64 " addr %016" PRIx64 " cc %02x\n",

> -                     env->psw.mask, env->psw.addr, env->cc_op);

> +        qemu_fprintf(f, " cc %02x\n", env->cc_op);

>       }


Reviewed-by: David Hildenbrand <david@redhat.com>


-- 
Thanks,

David / dhildenb
diff mbox series

Patch

diff --git a/target/s390x/helper.c b/target/s390x/helper.c
index 559fc3573f..1445b74451 100644
--- a/target/s390x/helper.c
+++ b/target/s390x/helper.c
@@ -338,12 +338,14 @@  void s390_cpu_dump_state(CPUState *cs, FILE *f, int flags)
     CPUS390XState *env = &cpu->env;
     int i;
 
-    if (env->cc_op > 3) {
-        qemu_fprintf(f, "PSW=mask %016" PRIx64 " addr %016" PRIx64 " cc %15s\n",
-                     env->psw.mask, env->psw.addr, cc_name(env->cc_op));
+    qemu_fprintf(f, "PSW=mask %016" PRIx64 " addr %016" PRIx64,
+                 s390_cpu_get_psw_mask(env), env->psw.addr);
+    if (!tcg_enabled()) {
+        qemu_fprintf(f, "\n");
+    } else if (env->cc_op > 3) {
+        qemu_fprintf(f, " cc %15s\n", cc_name(env->cc_op));
     } else {
-        qemu_fprintf(f, "PSW=mask %016" PRIx64 " addr %016" PRIx64 " cc %02x\n",
-                     env->psw.mask, env->psw.addr, env->cc_op);
+        qemu_fprintf(f, " cc %02x\n", env->cc_op);
     }
 
     for (i = 0; i < 16; i++) {