summary refs log tree commit diff stats
path: root/tcg/tcg.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2015-08-30 09:21:33 -0700
committerRichard Henderson <rth@twiddle.net>2015-10-07 20:36:46 +1100
commit9aef40ed1f6e2bd794bbb3ba8c8b773e506334c9 (patch)
treee414f13e9c92c9c6fa62a0599c1e996959fe2f3d /tcg/tcg.c
parentb933066ae03d924a92b2616b4a24e7d91cd5b841 (diff)
downloadfocaccia-qemu-9aef40ed1f6e2bd794bbb3ba8c8b773e506334c9.tar.gz
focaccia-qemu-9aef40ed1f6e2bd794bbb3ba8c8b773e506334c9.zip
tcg: Allow extra data to be attached to insn_start
With an eye toward having this data replace the gen_opc_* arrays
that each target collects in order to enable restore_state_from_tb.

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r--tcg/tcg.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/tcg/tcg.c b/tcg/tcg.c
index df8788bac5..3308d6822e 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -991,16 +991,17 @@ void tcg_dump_ops(TCGContext *s)
         args = &s->gen_opparam_buf[op->args];
 
         if (c == INDEX_op_insn_start) {
-            uint64_t pc;
+            qemu_log("%s ----", oi != s->gen_first_op_idx ? "\n" : "");
+
+            for (i = 0; i < TARGET_INSN_START_WORDS; ++i) {
+                target_ulong a;
 #if TARGET_LONG_BITS > TCG_TARGET_REG_BITS
-            pc = ((uint64_t)args[1] << 32) | args[0];
+                a = ((target_ulong)args[i * 2 + 1] << 32) | args[i * 2];
 #else
-            pc = args[0];
+                a = args[i];
 #endif
-            if (oi != s->gen_first_op_idx) {
-                qemu_log("\n");
+                qemu_log(" " TARGET_FMT_lx, a);
             }
-            qemu_log(" ---- 0x%" PRIx64, pc);
         } else if (c == INDEX_op_call) {
             /* variable number of arguments */
             nb_oargs = op->callo;