> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo > Bonzini > On 12/05/2015 17:32, Peter Maydell wrote: > > In order for -icount to work, it's important for the target > > translate.c code to correctly bracket any generated code which > > can "do I/O" with gen_io_start()/gen_io_end() calls. But > > does anybody know exactly what the criteria are here for this? > > It would be nice if we could document this in a comment in > > gen_icount.h -- I'm happy to write one up if somebody will just > > tell me what the right answer is :-) > > It's any instruction that can cause an icount read, typically through > QEMU_CLOCK_VIRTUAL or cpu_get_ticks().
Doesn't this mean that ARM has incorrect implementation of icount? MMIO is common for this platform, but none of memory accesses are surrounded with gen_io_start()/gen_io_end(). Pavel Dovgalyuk