On 10/02/2015 10:15, Peter Maydell wrote: > > - tb = (TranslationBlock *)(next_tb & ~TB_EXIT_MASK); > > next_tb = 0; > > break; > > case TB_EXIT_ICOUNT_EXPIRED: > > True, I guess, but presumably this means we're doing unnecessary > work in the next time round the loop re-finding the tb which we > already had...
This is the TB_EXIT_REQUESTED case though: once the iothread runs who knows what happens. You might get an interrupt or a system reset that diverts execution away from tb. Paolo