On 14/06/2017 06:48, Richard Henderson wrote: >> >> Commit e75449a3 ("target/aarch64: optimize indirect branches") causes >> a regression by which aarch64 guests freeze under TCG with -smp > 1, >> even with `-accel accel=tcg,thread=single' (i.e. MTTCG disabled). >> >> I isolated the problem to the MSR handler. This patch forces an exit >> after the handler is executed, which fixes the regression. > > Why would that be? The cpu_get_tb_cpu_state within helper_lookup_tb_ptr > is supposed to read the new state that the msr handler would have > installed.
Could some of these cause an interrupt, or some other change in the cpu_exec flow? Thanks, Paolo