On 8/21/19 4:05 PM, Richard Henderson wrote: > On 8/21/19 5:23 AM, Bastian Koppelmann wrote: >> @@ -3928,7 +3937,7 @@ static void decode_sr_system(DisasContext *ctx) >> ctx->base.is_jmp = DISAS_NORETURN; >> break; >> case OPC2_16_SR_DEBUG: >> - /* raise EXCP_DEBUG */ >> + generate_qemu_excp(ctx, EXCP_DEBUG); >> break; >> case OPC2_16_SR_FRET: >> gen_fret(ctx); >> @@ -8354,7 +8363,7 @@ static void decode_sys_interrupts(DisasContext *ctx) >> >> switch (op2) { >> case OPC2_32_SYS_DEBUG: >> - /* raise EXCP_DEBUG */ >> + generate_qemu_excp(ctx, EXCP_DEBUG); >> break; >> case OPC2_32_SYS_DISABLE: >> tcg_gen_andi_tl(cpu_ICR, cpu_ICR, ~MASK_ICR_IE_1_3); > > This is not correct -- EXCP_DEBUG is an internal qemu exception. > > The manual I have only describes the ISA and does not describe what a "Debug > Event" would be. I note that you're missing the DBGSR.DE check. I also note > that whatever a "Debug Event" is, RFM appears to be the return from it. So > one > can deduce some things about what it should be.
Anyway, remove these hunks and the rest of the patch is ok. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~