Richard Henderson <richard.hender...@linaro.org> writes:
> Install empty versions for !TCG_TARGET_HAS_direct_jump hosts. > > Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > tcg/arm/tcg-target.c.inc | 6 ++++++ > tcg/mips/tcg-target.c.inc | 6 ++++++ > tcg/riscv/tcg-target.c.inc | 6 ++++++ > tcg/tci/tcg-target.c.inc | 6 ++++++ > 4 files changed, 24 insertions(+) > > diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc > index b8f3b0c634..b21dd561fa 100644 > --- a/tcg/arm/tcg-target.c.inc > +++ b/tcg/arm/tcg-target.c.inc > @@ -1964,6 +1964,12 @@ static void tcg_out_goto_tb(TCGContext *s, int which) > set_jmp_reset_offset(s, which); > } > > +void tb_target_set_jmp_target(const TranslationBlock *tb, int n, > + uintptr_t jmp_rx, uintptr_t jmp_rw) > +{ > + /* Always indirect, nothing to do */ Should we assert and then remove when we fill in because some targets never gain this ability. > +} > + > static void tcg_out_op(TCGContext *s, TCGOpcode opc, > const TCGArg args[TCG_MAX_OP_ARGS], > const int const_args[TCG_MAX_OP_ARGS]) > diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc > index e54df4128b..0b5e100cb1 100644 > --- a/tcg/mips/tcg-target.c.inc > +++ b/tcg/mips/tcg-target.c.inc > @@ -1977,6 +1977,12 @@ static void tcg_out_goto_tb(TCGContext *s, int which) > set_jmp_reset_offset(s, which); > } > > +void tb_target_set_jmp_target(const TranslationBlock *tb, int n, > + uintptr_t jmp_rx, uintptr_t jmp_rw) > +{ > + /* Always indirect, nothing to do */ > +} > + > static void tcg_out_op(TCGContext *s, TCGOpcode opc, > const TCGArg args[TCG_MAX_OP_ARGS], > const int const_args[TCG_MAX_OP_ARGS]) > diff --git a/tcg/riscv/tcg-target.c.inc b/tcg/riscv/tcg-target.c.inc > index ee6759f787..e6a3915859 100644 > --- a/tcg/riscv/tcg-target.c.inc > +++ b/tcg/riscv/tcg-target.c.inc > @@ -1310,6 +1310,12 @@ static void tcg_out_goto_tb(TCGContext *s, int which) > set_jmp_reset_offset(s, which); > } > > +void tb_target_set_jmp_target(const TranslationBlock *tb, int n, > + uintptr_t jmp_rx, uintptr_t jmp_rw) > +{ > + /* Always indirect, nothing to do */ > +} > + > static void tcg_out_op(TCGContext *s, TCGOpcode opc, > const TCGArg args[TCG_MAX_OP_ARGS], > const int const_args[TCG_MAX_OP_ARGS]) > diff --git a/tcg/tci/tcg-target.c.inc b/tcg/tci/tcg-target.c.inc > index f2ac356900..54779d86d9 100644 > --- a/tcg/tci/tcg-target.c.inc > +++ b/tcg/tci/tcg-target.c.inc > @@ -603,6 +603,12 @@ static void tcg_out_goto_tb(TCGContext *s, int which) > set_jmp_reset_offset(s, which); > } > > +void tb_target_set_jmp_target(const TranslationBlock *tb, int n, > + uintptr_t jmp_rx, uintptr_t jmp_rw) > +{ > + /* Always indirect, nothing to do */ > +} > + > static void tcg_out_op(TCGContext *s, TCGOpcode opc, > const TCGArg args[TCG_MAX_OP_ARGS], > const int const_args[TCG_MAX_OP_ARGS]) -- Alex Bennée Virtualisation Tech Lead @ Linaro