On 2/16/22 17:23, Fabiano Rosas wrote:
> The goal of this series is to do some untangling of SPR registration
> code in cpu_init.c and prepare for moving the CPU initialization into
> separate files for each CPU family.
>
> After this series we'll have only cpu-specific SPR code in cpu_init.c,
> i.e. code that can be split and moved as a unit into other
> files. Common/generic SPR code will be in helper_regs.c, exposed via
> spr_common.h.
>
> Changes from v1:
>
> - Some commit message improvements suggested by David;
>
> - Removed the soft_tlb rename patch. Kept the old name;
>
> - Left the specific check_pow functions behind, they can be dealt with
> in the next series;
>
> - Added a new patch to rename spr_tcg to spr_common.
>
> Patches 23 and 26 still need review.
>
> This series is based on legoater/ppc7.0.
>
> v1:
> https://lists.nongnu.org/archive/html/qemu-ppc/2022-02/msg00313.html
>
> Fabiano Rosas (27):
> target/ppc: cpu_init: Remove not implemented comments
> target/ppc: cpu_init: Remove G2LE init code
> target/ppc: cpu_init: Group registration of generic SPRs
> target/ppc: cpu_init: Move Timebase registration into the common
> function
> target/ppc: cpu_init: Avoid nested SPR register functions
> target/ppc: cpu_init: Move 405 SPRs into register_405_sprs
> target/ppc: cpu_init: Move G2 SPRs into register_G2_sprs
> target/ppc: cpu_init: Decouple G2 SPR registration from 755
> target/ppc: cpu_init: Decouple 74xx SPR registration from 7xx
> target/ppc: cpu_init: Deduplicate 440 SPR registration
> target/ppc: cpu_init: Deduplicate 603 SPR registration
> target/ppc: cpu_init: Deduplicate 604 SPR registration
> target/ppc: cpu_init: Deduplicate 745/755 SPR registration
> target/ppc: cpu_init: Deduplicate 7xx SPR registration
> target/ppc: cpu_init: Move 755 L2 cache SPRs into a function
> target/ppc: cpu_init: Move e300 SPR registration into a function
> target/ppc: cpu_init: Move 604e SPR registration into a function
> target/ppc: cpu_init: Reuse init_proc_603 for the e300
> target/ppc: cpu_init: Reuse init_proc_604 for the 604e
> target/ppc: cpu_init: Reuse init_proc_745 for the 755
> target/ppc: cpu_init: Rename register_ne_601_sprs
> target/ppc: cpu_init: Remove register_usprg3_sprs
> target/ppc: Rename spr_tcg.h to spr_common.h
> target/ppc: cpu_init: Expose some SPR registration helpers
> target/ppc: cpu_init: Move SPR registration macros to a header
> target/ppc: cpu_init: Move check_pow and QOM macros to a header
> target/ppc: Move common SPR functions out of cpu_init
>
> target/ppc/cpu.h | 39 +
> target/ppc/cpu_init.c | 1879 ++++++++----------------
> target/ppc/helper_regs.c | 402 +++++
> target/ppc/{spr_tcg.h => spr_common.h} | 69 +-
> target/ppc/translate.c | 2 +-
> 5 files changed, 1098 insertions(+), 1293 deletions(-)
> rename target/ppc/{spr_tcg.h => spr_common.h} (72%)
>
Applied for ppc-7.0
Thanks,
C.