diff mbox

[v3] target-tricore: pretty-print register dump and show more status registers

Message ID db167817-60c8-443b-a2f8-5562e3a4028d@EXCHANGE-4K.hds.local
State New
Headers show

Commit Message

Alex Zuepke Dec. 19, 2014, 11:34 a.m. UTC
Now using psw_read() to retrieve the status bits correctly.

Signed-off-by: Alex Zuepke <alexander.zuepke@hs-rm.de>
---
 target-tricore/translate.c |   21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

Comments

Bastian Koppelmann Dec. 19, 2014, 6:59 p.m. UTC | #1
On 12/19/2014 11:34 AM, Alex Zuepke wrote:
> Now using psw_read() to retrieve the status bits correctly.
>
> Signed-off-by: Alex Zuepke <alexander.zuepke@hs-rm.de>
> ---
>   target-tricore/translate.c |   21 +++++++++++++++------
>   1 file changed, 15 insertions(+), 6 deletions(-)
>
> diff --git a/target-tricore/translate.c b/target-tricore/translate.c
> index e3eeedb..3d87346 100644
> --- a/target-tricore/translate.c
> +++ b/target-tricore/translate.c
> @@ -85,22 +85,31 @@ void tricore_cpu_dump_state(CPUState *cs, FILE *f,
>   {
>       TriCoreCPU *cpu = TRICORE_CPU(cs);
>       CPUTriCoreState *env = &cpu->env;
> +    uint32_t psw;
>       int i;
>   
> -    cpu_fprintf(f, "PC=%08x\n", env->PC);
> +    psw = psw_read(env);
> +
> +    cpu_fprintf(f, "PC: " TARGET_FMT_lx, env->PC);
> +    cpu_fprintf(f, " PSW: " TARGET_FMT_lx, psw);
> +    cpu_fprintf(f, " ICR: " TARGET_FMT_lx, env->ICR);
> +    cpu_fprintf(f, "\nPCXI: " TARGET_FMT_lx, env->PCXI);
> +    cpu_fprintf(f, " FCX: " TARGET_FMT_lx, env->FCX);
> +    cpu_fprintf(f, " LCX: " TARGET_FMT_lx, env->LCX);
> +
>       for (i = 0; i < 16; ++i) {
>           if ((i & 3) == 0) {
> -            cpu_fprintf(f, "GPR A%02d:", i);
> +            cpu_fprintf(f, "\nGPR A%02d:", i);
>           }
> -        cpu_fprintf(f, " %s " TARGET_FMT_lx, regnames_a[i], env->gpr_a[i]);
> +        cpu_fprintf(f, " " TARGET_FMT_lx, env->gpr_a[i]);
>       }
>       for (i = 0; i < 16; ++i) {
>           if ((i & 3) == 0) {
> -            cpu_fprintf(f, "GPR D%02d:", i);
> +            cpu_fprintf(f, "\nGPR D%02d:", i);
>           }
> -        cpu_fprintf(f, " %s " TARGET_FMT_lx, regnames_d[i], env->gpr_d[i]);
> +        cpu_fprintf(f, " " TARGET_FMT_lx, env->gpr_d[i]);
>       }
> -
> +    cpu_fprintf(f, "\n");
>   }
>   
>   /*
Hi Alex,
thanks for the patch. Please, whenever you send a new version of a 
patch, send the complete series again even if you only changed one patch.
Other than that,
Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
and applied all the patches to tricore-next.

Cheers,
Bastian
diff mbox

Patch

diff --git a/target-tricore/translate.c b/target-tricore/translate.c
index e3eeedb..3d87346 100644
--- a/target-tricore/translate.c
+++ b/target-tricore/translate.c
@@ -85,22 +85,31 @@  void tricore_cpu_dump_state(CPUState *cs, FILE *f,
 {
     TriCoreCPU *cpu = TRICORE_CPU(cs);
     CPUTriCoreState *env = &cpu->env;
+    uint32_t psw;
     int i;
 
-    cpu_fprintf(f, "PC=%08x\n", env->PC);
+    psw = psw_read(env);
+
+    cpu_fprintf(f, "PC: " TARGET_FMT_lx, env->PC);
+    cpu_fprintf(f, " PSW: " TARGET_FMT_lx, psw);
+    cpu_fprintf(f, " ICR: " TARGET_FMT_lx, env->ICR);
+    cpu_fprintf(f, "\nPCXI: " TARGET_FMT_lx, env->PCXI);
+    cpu_fprintf(f, " FCX: " TARGET_FMT_lx, env->FCX);
+    cpu_fprintf(f, " LCX: " TARGET_FMT_lx, env->LCX);
+
     for (i = 0; i < 16; ++i) {
         if ((i & 3) == 0) {
-            cpu_fprintf(f, "GPR A%02d:", i);
+            cpu_fprintf(f, "\nGPR A%02d:", i);
         }
-        cpu_fprintf(f, " %s " TARGET_FMT_lx, regnames_a[i], env->gpr_a[i]);
+        cpu_fprintf(f, " " TARGET_FMT_lx, env->gpr_a[i]);
     }
     for (i = 0; i < 16; ++i) {
         if ((i & 3) == 0) {
-            cpu_fprintf(f, "GPR D%02d:", i);
+            cpu_fprintf(f, "\nGPR D%02d:", i);
         }
-        cpu_fprintf(f, " %s " TARGET_FMT_lx, regnames_d[i], env->gpr_d[i]);
+        cpu_fprintf(f, " " TARGET_FMT_lx, env->gpr_d[i]);
     }
-
+    cpu_fprintf(f, "\n");
 }
 
 /*