On 19/06/20 16:54, Peter Maydell wrote: >> + >> +MMIO isn't the only type of operation for which we might need a >> +correct and accurate clock. IO port instructions and accesses to >> +system registers are the common examples here. For the clock to be >> +accurate you end a translation block on these instructions. >> + >> +.. warning:: (CONJECTURE) instructions that won't get trapped in the >> + io_read/writex shouldn't need gen_io_start/end blocks >> + around them. > I think this is backwards -- instructions where icount is handled > by io_readx/io_writex are the ones that don't need to be marked > with gen_io_start. It's the i/o instructions that don't go through > io_readx/io_writex that need gen_io_start.
Yes, and likewise instructions where icount is handled by io_readx/io_writex need not terminate the TB. Paolo