> 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.