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.