"Bruno Larsen (billionai)" <bruno.lar...@eldorado.org.br> writes:
> To be able to compile translate_init.c.inc as a standalone file, > we have to make the callbacks accessible outside of translate.c; > This patch does that, making the callbacks not static and creating > a new .h file > > Signed-off-by: Bruno Larsen (billionai) <bruno.lar...@eldorado.org.br> > --- <snip> > diff --git a/target/ppc/spr_tcg.h b/target/ppc/spr_tcg.h > new file mode 100644 > index 0000000000..b573a23e7b > --- /dev/null > +++ b/target/ppc/spr_tcg.h > @@ -0,0 +1,121 @@ > +#ifndef SPR_TCG_H > +#define SPR_TCG_H > + > +#include "qemu/osdep.h" > +#include "cpu.h" > +#include "exec/translator.h" > +#include "tcg/tcg.h" Why the last two? > + > +/* prototypes for readers and writers for SPRs */ > + > +void spr_read_generic(DisasContext *ctx, int gprn, int sprn); > +void spr_write_generic(DisasContext *ctx, int sprn, int gprn); > +void spr_read_xer(DisasContext *ctx, int gprn, int sprn); > +void spr_write_xer(DisasContext *ctx, int sprn, int gprn); > +void spr_read_lr(DisasContext *ctx, int gprn, int sprn); > +void spr_write_lr(DisasContext *ctx, int sprn, int gprn); > +void spr_read_ctr(DisasContext *ctx, int gprn, int sprn); > +void spr_write_ctr(DisasContext *ctx, int sprn, int gprn); > +void spr_read_ureg(DisasContext *ctx, int gprn, int sprn); > +void spr_read_tbl(DisasContext *ctx, int gprn, int sprn); > +void spr_read_tbu(DisasContext *ctx, int gprn, int sprn); > +void spr_read_atbl(DisasContext *ctx, int gprn, int sprn); > +void spr_read_atbu(DisasContext *ctx, int gprn, int sprn); > +void spr_read_601_rtcl(DisasContext *ctx, int gprn, int sprn); > +void spr_read_601_rtcu(DisasContext *ctx, int gprn, int sprn); > +void spr_read_spefscr(DisasContext *ctx, int gprn, int sprn); > +void spr_write_spefscr(DisasContext *ctx, int sprn, int gprn); > + > +#ifndef CONFIG_USER_ONLY > +void spr_write_generic32(DisasContext *ctx, int sprn, int gprn); > +void spr_write_clear(DisasContext *ctx, int sprn, int gprn); > +void spr_access_nop(DisasContext *ctx, int sprn, int gprn); > +void spr_read_decr(DisasContext *ctx, int gprn, int sprn); > +void spr_write_decr(DisasContext *ctx, int sprn, int gprn); > +void spr_write_tbl(DisasContext *ctx, int sprn, int gprn); > +void spr_write_tbu(DisasContext *ctx, int sprn, int gprn); > +void spr_write_atbl(DisasContext *ctx, int sprn, int gprn); > +void spr_write_atbu(DisasContext *ctx, int sprn, int gprn); > +void spr_read_ibat(DisasContext *ctx, int gprn, int sprn); > +void spr_read_ibat_h(DisasContext *ctx, int gprn, int sprn); > +void spr_write_ibatu(DisasContext *ctx, int sprn, int gprn); > +void spr_write_ibatu_h(DisasContext *ctx, int sprn, int gprn); > +void spr_write_ibatl(DisasContext *ctx, int sprn, int gprn); > +void spr_write_ibatl_h(DisasContext *ctx, int sprn, int gprn); > +void spr_read_dbat(DisasContext *ctx, int gprn, int sprn); > +void spr_read_dbat_h(DisasContext *ctx, int gprn, int sprn); > +void spr_write_dbatu(DisasContext *ctx, int sprn, int gprn); > +void spr_write_dbatu_h(DisasContext *ctx, int sprn, int gprn); > +void spr_write_dbatl(DisasContext *ctx, int sprn, int gprn); > +void spr_write_dbatl_h(DisasContext *ctx, int sprn, int gprn); > +void spr_write_sdr1(DisasContext *ctx, int sprn, int gprn); > +void spr_write_601_rtcu(DisasContext *ctx, int sprn, int gprn); > +void spr_write_601_rtcl(DisasContext *ctx, int sprn, int gprn); > +void spr_write_hid0_601(DisasContext *ctx, int sprn, int gprn); > +void spr_read_601_ubat(DisasContext *ctx, int gprn, int sprn); > +void spr_write_601_ubatu(DisasContext *ctx, int sprn, int gprn); > +void spr_write_601_ubatl(DisasContext *ctx, int sprn, int gprn); > +void spr_read_40x_pit(DisasContext *ctx, int gprn, int sprn); > +void spr_write_40x_pit(DisasContext *ctx, int sprn, int gprn); > +void spr_write_40x_dbcr0(DisasContext *ctx, int sprn, int gprn); > +void spr_write_40x_sler(DisasContext *ctx, int sprn, int gprn); > +void spr_write_booke_tcr(DisasContext *ctx, int sprn, int gprn); > +void spr_write_booke_tsr(DisasContext *ctx, int sprn, int gprn); > +void spr_read_403_pbr(DisasContext *ctx, int gprn, int sprn); > +void spr_write_403_pbr(DisasContext *ctx, int sprn, int gprn); > +void spr_write_pir(DisasContext *ctx, int sprn, int gprn); > +void spr_write_excp_prefix(DisasContext *ctx, int sprn, int gprn); > +void spr_write_excp_vector(DisasContext *ctx, int sprn, int gprn); > +void spr_read_thrm(DisasContext *ctx, int gprn, int sprn); > +void spr_write_e500_l1csr0(DisasContext *ctx, int sprn, int gprn); > +void spr_write_e500_l1csr1(DisasContext *ctx, int sprn, int gprn); > +void spr_write_e500_l2csr0(DisasContext *ctx, int sprn, int gprn); > +void spr_write_booke206_mmucsr0(DisasContext *ctx, int sprn, int gprn); > +void spr_write_booke_pid(DisasContext *ctx, int sprn, int gprn); > +void spr_write_eplc(DisasContext *ctx, int sprn, int gprn); > +void spr_write_epsc(DisasContext *ctx, int sprn, int gprn); > +void spr_write_mas73(DisasContext *ctx, int sprn, int gprn); > +void spr_read_mas73(DisasContext *ctx, int gprn, int sprn); > +#ifdef TARGET_PPC64 > +void spr_read_cfar(DisasContext *ctx, int gprn, int sprn); > +void spr_write_cfar(DisasContext *ctx, int sprn, int gprn); > +void spr_write_ureg(DisasContext *ctx, int sprn, int gprn); > +void spr_read_purr(DisasContext *ctx, int gprn, int sprn); > +void spr_write_purr(DisasContext *ctx, int sprn, int gprn); > +void spr_read_hdecr(DisasContext *ctx, int gprn, int sprn); > +void spr_write_hdecr(DisasContext *ctx, int sprn, int gprn); > +void spr_read_vtb(DisasContext *ctx, int gprn, int sprn); > +void spr_write_vtb(DisasContext *ctx, int sprn, int gprn); > +void spr_write_tbu40(DisasContext *ctx, int sprn, int gprn); > +void spr_write_pidr(DisasContext *ctx, int sprn, int gprn); > +void spr_write_lpidr(DisasContext *ctx, int sprn, int gprn); > +void spr_read_hior(DisasContext *ctx, int gprn, int sprn); > +void spr_write_hior(DisasContext *ctx, int sprn, int gprn); > +void spr_write_ptcr(DisasContext *ctx, int sprn, int gprn); > +void spr_write_pcr(DisasContext *ctx, int sprn, int gprn); > +void spr_read_dpdes(DisasContext *ctx, int gprn, int sprn); > +void spr_write_dpdes(DisasContext *ctx, int sprn, int gprn); > +void spr_write_amr(DisasContext *ctx, int sprn, int gprn); > +void spr_write_uamor(DisasContext *ctx, int sprn, int gprn); > +void spr_write_iamr(DisasContext *ctx, int sprn, int gprn); > +#endif > +#endif > + > +#ifdef TARGET_PPC64 > +void spr_read_prev_upper32(DisasContext *ctx, int gprn, int sprn); > +void spr_write_prev_upper32(DisasContext *ctx, int sprn, int gprn); > +void spr_read_tar(DisasContext *ctx, int gprn, int sprn); > +void spr_write_tar(DisasContext *ctx, int sprn, int gprn); > +void spr_read_tm(DisasContext *ctx, int gprn, int sprn); > +void spr_write_tm(DisasContext *ctx, int sprn, int gprn); > +void spr_read_tm_upper32(DisasContext *ctx, int gprn, int sprn); > +void spr_write_tm_upper32(DisasContext *ctx, int sprn, int gprn); > +void spr_read_ebb(DisasContext *ctx, int gprn, int sprn); > +void spr_write_ebb(DisasContext *ctx, int sprn, int gprn); > +void spr_read_ebb_upper32(DisasContext *ctx, int gprn, int sprn); > +void spr_write_ebb_upper32(DisasContext *ctx, int sprn, int gprn); > +void spr_write_hmer(DisasContext *ctx, int sprn, int gprn); > +void spr_write_lpcr(DisasContext *ctx, int sprn, int gprn); > +#endif > + > +#endif