On 01/18/2017 08:33 PM, Richard Henderson wrote:
> 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?

Fixed

>> +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.

Hm, OK

>> +        if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO)) {
>> +            gen_io_start();
>> +        }
> 
> num_insns has already be incremented; don't + 1 here.

OK

>> +        && 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.

OK


-- 
Best regards,
Marek Vasut

Reply via email to