diff mbox

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

Message ID 8aaedb4e-b5b2-437e-9bc0-59073148e1fc@EXCHANGE-4K.hds.local
State New
Headers show

Commit Message

Alex Zuepke Dec. 12, 2014, 2:10 p.m. UTC
Signed-off-by: Alex Zuepke <alexander.zuepke@hs-rm.de>
---
 target-tricore/translate.c |   16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

Comments

Bastian Koppelmann Dec. 12, 2014, 4:35 p.m. UTC | #1
On 12/12/2014 02:10 PM, Alex Zuepke wrote:
> Signed-off-by: Alex Zuepke <alexander.zuepke@hs-rm.de>
> ---
>   target-tricore/translate.c |   16 +++++++++++-----
>   1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/target-tricore/translate.c b/target-tricore/translate.c
> index e3eeedb..d1b845b 100644
> --- a/target-tricore/translate.c
> +++ b/target-tricore/translate.c
> @@ -87,19 +87,25 @@ void tricore_cpu_dump_state(CPUState *cs, FILE *f,
>       CPUTriCoreState *env = &cpu->env;
>       int i;
>   
> -    cpu_fprintf(f, "PC=%08x\n", env->PC);
> +    cpu_fprintf(f, "PC: " TARGET_FMT_lx, env->PC);
> +    cpu_fprintf(f, " PCXI: " TARGET_FMT_lx, env->PCXI);
> +    cpu_fprintf(f, " FCX: " TARGET_FMT_lx, env->FCX);
> +    cpu_fprintf(f, " LCX: " TARGET_FMT_lx, env->LCX);
> +    cpu_fprintf(f, " PSW: " TARGET_FMT_lx, env->PSW);
I'm afraid that won't work, since the user status bits of the PSW are 
cached for faster access. Consider using psw_read().
> +
>       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");
>   
>   }
>   
Cheers,
Bastian
diff mbox

Patch

diff --git a/target-tricore/translate.c b/target-tricore/translate.c
index e3eeedb..d1b845b 100644
--- a/target-tricore/translate.c
+++ b/target-tricore/translate.c
@@ -87,19 +87,25 @@  void tricore_cpu_dump_state(CPUState *cs, FILE *f,
     CPUTriCoreState *env = &cpu->env;
     int i;
 
-    cpu_fprintf(f, "PC=%08x\n", env->PC);
+    cpu_fprintf(f, "PC: " TARGET_FMT_lx, env->PC);
+    cpu_fprintf(f, " PCXI: " TARGET_FMT_lx, env->PCXI);
+    cpu_fprintf(f, " FCX: " TARGET_FMT_lx, env->FCX);
+    cpu_fprintf(f, " LCX: " TARGET_FMT_lx, env->LCX);
+    cpu_fprintf(f, " PSW: " TARGET_FMT_lx, env->PSW);
+
     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");
 
 }