qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH] target/ppc: code motion from translate_init.c.inc to gdbstub


From: Bruno Piazera Larsen
Subject: RE: [PATCH] target/ppc: code motion from translate_init.c.inc to gdbstub.c
Date: Tue, 13 Apr 2021 12:48:20 +0000

All the code and git related feedback as been done, with the exception of

> > +gchar *ppc_gdb_arch_name(CPUState *cs);
> > +
> > +
> >  #endif /* PPC_CPU_H */
> > diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c
> > index c28319fb97..0c016b8483 100644
> > --- a/target/ppc/gdbstub.c
> > +++ b/target/ppc/gdbstub.c
> > @@ -20,6 +20,10 @@
> >  #include "qemu/osdep.h"
> >  #include "cpu.h"
> >  #include "exec/gdbstub.h"
> > +#ifdef CONFIG_TCG
> > +#include "exec/helper-proto.h"
> > +#endif

> We still need to figure out where to move the vscr helpers so that both
> TCG and !TCG code can see them. But we cannot build without TCG
> currently anyway so I guess it's ok to leave the ifdef.

Actually, since we're moving the helpers away, I think it's better to remove the ifdefs...
The helper-proto.h is here only for the vscr, so it's going away before we support the !tcg build anyway. Thoughts?

> > +
> > +void ppc_cpu_gdb_init(CPUState *cs, PowerPCCPUClass *pcc)
>
> +{
> > +
>
> +    if (pcc->insns_flags & PPC_FLOAT) {
> > +        gdb_register_coprocessor(cs, gdb_get_float_reg, gdb_set_float_reg,
>
> +                                 33, "power-fpu.xml", 0);
>
> +    }
> > +    if (pcc->insns_flags & PPC_ALTIVEC) {
>
> +        gdb_register_coprocessor(cs, gdb_get_avr_reg, gdb_set_avr_reg,
> > +                                 34, "power-altivec.xml", 0);
>
> +    }
> > +    if (pcc->insns_flags & PPC_SPE) {
>
> +        gdb_register_coprocessor(cs, gdb_get_spe_reg, gdb_set_spe_reg,
> > +                                 34, "power-spe.xml", 0);
>
> +    }
> > +    if (pcc->insns_flags2 & PPC2_VSX) {
>
> +        gdb_register_coprocessor(cs, gdb_get_vsx_reg, gdb_set_vsx_reg,
> > +                                 32, "power-vsx.xml", 0);
>
> +    }
> > +#ifndef CONFIG_USER_ONLY
> > +    gdb_register_coprocessor(cs, gdb_get_spr_reg, gdb_set_spr_reg,
> > +                             pcc->gdb_num_sprs, "power-spr.xml", 0);
> > +#endif
> > +}
>
> Same here.

This function was actually created by me, wasn't in the translate_init.c.inc. Since we're moving gdb fuinctions to gdbstub.c, I thought it made sense to hide the logic behind how to register coprocessors correctly as well. that's why there is no removal of this function on the diff. Should I move it back to ppc_cpu_realize or is this a good plan?


Bruno Piazera Larsen

Instituto de Pesquisas ELDORADO

Departamento Computação Embarcada

Analista de Software Trainee

Aviso Legal - Disclaimer


reply via email to

[Prev in Thread] Current Thread [Next in Thread]