On 14/07/2016 15:00, Sergey Fedorov wrote: > > > +} > > > + > > > +static inline bool tb_is_invalid(TranslationBlock *tb) > > > +{ > > > + return cpu_tb_cpu_state_is_invalidated(tb->pc, tb->cs_base, > > > tb->flags); > > > +} > > Also why are we passing three pointers to parts of TranslationBlock? Why > > not just pass tb directly and be done with it? > > I'm not sure we want to include exec/exec-all.h in target-*/cpu.h
We don't, exec/exec-all.h is TCG-specific while cpu.h isn't. Implementing tb_mark_invalid/tb_is_invalid in target-* without the indirection would be possible, but it would require splitting that out into a new header such as target-*/exec.h. Paolo