On Thu, Sep 2, 2021 at 9:18 AM Philippe Mathieu-Daudé <f4...@amsat.org> wrote:
> Restrict cpu_exec_interrupt() and its callees to sysemu. > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > target/m68k/cpu.h | 2 ++ > target/m68k/cpu.c | 2 +- > target/m68k/op_helper.c | 16 +++------------- > 3 files changed, 6 insertions(+), 14 deletions(-) > Reviewed-by: Warner Losh <i...@bsdimp.com> > diff --git a/target/m68k/cpu.h b/target/m68k/cpu.h > index 997d588911c..550eb028b6e 100644 > --- a/target/m68k/cpu.h > +++ b/target/m68k/cpu.h > @@ -166,8 +166,10 @@ struct M68kCPU { > }; > > > +#ifndef CONFIG_USER_ONLY > void m68k_cpu_do_interrupt(CPUState *cpu); > bool m68k_cpu_exec_interrupt(CPUState *cpu, int int_req); > +#endif /* !CONFIG_USER_ONLY */ > void m68k_cpu_dump_state(CPUState *cpu, FILE *f, int flags); > hwaddr m68k_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr); > int m68k_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg); > diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c > index 72de6e97262..66d22d11895 100644 > --- a/target/m68k/cpu.c > +++ b/target/m68k/cpu.c > @@ -515,10 +515,10 @@ static const struct SysemuCPUOps m68k_sysemu_ops = { > > static const struct TCGCPUOps m68k_tcg_ops = { > .initialize = m68k_tcg_init, > - .cpu_exec_interrupt = m68k_cpu_exec_interrupt, > .tlb_fill = m68k_cpu_tlb_fill, > > #ifndef CONFIG_USER_ONLY > + .cpu_exec_interrupt = m68k_cpu_exec_interrupt, > .do_interrupt = m68k_cpu_do_interrupt, > .do_transaction_failed = m68k_cpu_transaction_failed, > #endif /* !CONFIG_USER_ONLY */ > diff --git a/target/m68k/op_helper.c b/target/m68k/op_helper.c > index d006d1cb3ea..5d624838ae6 100644 > --- a/target/m68k/op_helper.c > +++ b/target/m68k/op_helper.c > @@ -24,18 +24,7 @@ > #include "semihosting/semihost.h" > #include "tcg/tcg.h" > > -#if defined(CONFIG_USER_ONLY) > - > -void m68k_cpu_do_interrupt(CPUState *cs) > -{ > - cs->exception_index = -1; > -} > - > -static inline void do_interrupt_m68k_hardirq(CPUM68KState *env) > -{ > -} > - > -#else > +#if !defined(CONFIG_USER_ONLY) > > static void cf_rte(CPUM68KState *env) > { > @@ -516,7 +505,6 @@ void m68k_cpu_transaction_failed(CPUState *cs, hwaddr > physaddr, vaddr addr, > cpu_loop_exit(cs); > } > } > -#endif > > bool m68k_cpu_exec_interrupt(CPUState *cs, int interrupt_request) > { > @@ -538,6 +526,8 @@ bool m68k_cpu_exec_interrupt(CPUState *cs, int > interrupt_request) > return false; > } > > +#endif /* !CONFIG_USER_ONLY */ > + > static void raise_exception_ra(CPUM68KState *env, int tt, uintptr_t raddr) > { > CPUState *cs = env_cpu(env); > -- > 2.31.1 > >