On 2/26/19 10:31 AM, Peter Maydell wrote:
> On Wed, 20 Feb 2019 at 23:50, Richard Henderson
> <richard.hender...@linaro.org> wrote:
>>
>> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> 
> 
>> @@ -9192,6 +9192,17 @@ static void disas_arm_insn(DisasContext *s, unsigned 
>> int insn)
>>                   */
>>                  gen_goto_tb(s, 0, s->pc & ~1);
>>                  return;
>> +            case 7: /* sb */
>> +                if (!dc_isar_feature(aa32_sb, s)) {
>> +                    goto illegal_op;
>> +                }
>> +                /*
>> +                 * TODO: There is no speculation barrier opcode
>> +                 * for TCG; MB and end the TB instead.
>> +                 */
>> +                tcg_gen_mb(TCG_MO_ALL | TCG_BAR_SC);
>> +                s->base.is_jmp = DISAS_TOO_MANY;
> 
> Why do we do the "end the TB" code differently here than we
> do for the implementation of ISB in the case immediately
> above ?

No good reason, I suppose.  This is how we end the TB for MSR, I think.  But I
can change it.


r~

Reply via email to