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%) -- 2.34.1