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~

Reply via email to