On 01/16/2017 04:44 PM, Marek Vasut wrote:
+        TCGv_i32 tmp = tcg_const_i32(instr.imm5 + 32);
+        gen_helper_mmu_write(dc->cpu_env, tmp, load_gpr(dc, instr.a));
+        tcg_temp_free_i32(tmp);
+#endif
+        break;
+    }
+
+    default:
+        tcg_gen_mov_tl(dc->cpu_R[instr.imm5 + 32], load_gpr(dc, instr.a));
+        break;
+    }
+
+    /* If interrupts were enabled using WRCTL, trigger them. */
+#if !defined(CONFIG_USER_ONLY)
+    if ((instr.imm5 + 32) == CR_STATUS) {

Did you want CR_BASE here instead of hard-coding 32?


+static const char *regnames[] = {

const char * const

+    "reserved", "reserved", "reserved", "reserved",
+    "reserved", "reserved", "reserved", "reserved",
+    "reserved", "reserved", "reserved", "reserved",
+    "reserved", "reserved", "reserved", "reserved",

You might as well number them, e.g. resXX, to make it obvious in the dumps what's happening.

+        if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO)) {
+            gen_io_start();
+        }

num_insns has already be incremented; don't + 1 here.

+        && qemu_log_in_addr_range(tb->pc)) {
+        qemu_log("IN: %s\n", lookup_symbol(tb->pc));
+        log_target_disas(cs, tb->pc, dc->pc - tb->pc, 0);
+        qemu_log("\n");
+    }

qemu_log_lock / qemu_log_unlock around the dump.


r~

Reply via email to