> From: Peter Maydell [mailto:peter.mayd...@linaro.org] > On 13 February 2018 at 10:26, Pavel Dovgalyuk <dovga...@ispras.ru> wrote: > > Then I added SCSI adapter with the option –device lsi,id=scsi0 and QEMU > > failed with the following error: > > > > qemu: fatal: IO on conditional branch instruction > > > Seems, that your kernel is incomatible with QEMU, which ARM emulation is not > > good enough. > > It seems fairly unlikely to me that the Linux driver for this > SCSI adaptor is using weirdo self-modifying code of the kind > that would trip up that cpu_abort(). I would suggest a bit > more investigation into what's actually happening...
Peter, I bisected this bug and figured out the following. icount in ARM was broken by the following commit: 9b990ee5a3cc6aa38f81266fb0c6ef37a36c45b9 tcg: Add CPUState cflags_next_tb This commit breaks execution of Ciro's kernel with enabled icount. I haven't yet figured out why this happens. Pavel Dovgalyuk