|
| From: | Richard Henderson |
| Subject: | Re: [Qemu-devel] [PATCH V9 2/7] nios2: Add architecture emulation support |
| Date: | Wed, 18 Jan 2017 11:33:37 -0800 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 |
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~
| [Prev in Thread] | Current Thread | [Next in Thread] |