On 23/01/24, Philippe Mathieu-Daudé wrote: > Hi Anton, > > On 19/1/24 15:40, Anton Johansson wrote: > > Adds wrapper functions around common target specific macros required by > > accel/tcg. > > > > Signed-off-by: Anton Johansson <a...@rev.ng> > > --- > > include/hw/core/cpu.h | 9 +++++++ > > cpu-target.c | 62 +++++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 71 insertions(+) > > > > diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h > > index 57d100c203..a2d65c1d7a 100644 > > --- a/include/hw/core/cpu.h > > +++ b/include/hw/core/cpu.h > > @@ -26,6 +26,7 @@ > > #include "exec/vaddr.h" > > #include "exec/memattrs.h" > > #include "exec/tlb-common.h" > > +#include "exec/memop.h" > > #include "qapi/qapi-types-run-state.h" > > #include "qemu/bitmap.h" > > #include "qemu/rcu_queue.h" > > @@ -1164,6 +1165,14 @@ void cpu_exec_unrealizefn(CPUState *cpu); > > * what you are doing! > > */ > > bool target_words_bigendian(void); > > +bool target_supports_mttcg(void); > > +bool target_has_precise_smc(void); > > +int target_long_bits(void); > > +int target_phys_addr_space_bits(void); > > +uint8_t target_insn_start_words(void); > > +uint8_t target_default_memory_order(void); > > +uint8_t target_tlb_dyn_max_bits(void); > > +MemOp target_endian_memory_order(void); > > None of these helpers take argument. I don't understand > how they can be called in heterogeneous context.
No you're right, I was focused mostly on getting accel/tcg to compile with hetrogeneous being a goal downt the line. I like the idea of moving these fields to a struct filled out per target, but dispatching would also work.