[PATCH v2 00/27] target/ppc: SPR registration cleanups

Fabiano Rosas posted 27 patches 2 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220216162426.1885923-1-farosas@linux.ibm.com
Test checkpatch failed
Maintainers: Daniel Henrique Barboza <danielhb413@gmail.com>, Greg Kurz <groug@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, "Cédric Le Goater" <clg@kaod.org>
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%)
[PATCH v2 00/27] target/ppc: SPR registration cleanups
Posted by Fabiano Rosas 2 years, 2 months ago
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


Re: [PATCH v2 00/27] target/ppc: SPR registration cleanups
Posted by Cédric Le Goater 2 years, 2 months ago
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.