diff mbox series

[20/27] target/ppc: cpu_init: Reuse init_proc_745 for the 755

Message ID 20220215214148.1848266-21-farosas@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series target/ppc: SPR registration cleanups | expand

Commit Message

Fabiano Rosas Feb. 15, 2022, 9:41 p.m. UTC
The init_proc_755 function is identical to the 745 one except for the
L2 cache registers. I think it is worth it to make them share code.

Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
---
 target/ppc/cpu_init.c | 18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)

Comments

David Gibson Feb. 16, 2022, 2:54 a.m. UTC | #1
On Tue, Feb 15, 2022 at 06:41:41PM -0300, Fabiano Rosas wrote:
> The init_proc_755 function is identical to the 745 one except for the
> L2 cache registers. I think it is worth it to make them share code.
> 
> Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

With one nit to consider as a further cleanup..

> ---
>  target/ppc/cpu_init.c | 18 +-----------------
>  1 file changed, 1 insertion(+), 17 deletions(-)
> 
> diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
> index 32f99373dc..b4913e25de 100644
> --- a/target/ppc/cpu_init.c
> +++ b/target/ppc/cpu_init.c
> @@ -4548,24 +4548,8 @@ POWERPC_FAMILY(745)(ObjectClass *oc, void *data)
>  
>  static void init_proc_755(CPUPPCState *env)
>  {
> -    register_ne_601_sprs(env);
> -    register_sdr1_sprs(env);
> -    register_7xx_sprs(env);
> -    register_755_sprs(env);

"register_755_sprs" seems a bit inaccurate now, since it has things
that are common to 745 & 755.  Maybe rename it register_745_sprs(),
then register_755_L2_cache_sprs() could become simply
register_755_sprs(), since it's registering the only 755 specific
stuff (or just open code it here in init_proc_755).

> +    init_proc_745(env);
>      register_755_L2_cache_sprs(env);
> -
> -    /* Thermal management */
> -    register_thrm_sprs(env);
> -
> -    /* Memory management */
> -    register_low_BATs(env);
> -    register_high_BATs(env);
> -    register_6xx_7xx_soft_tlb(env, 64, 2);
> -    init_excp_7x5(env);
> -    env->dcache_line_size = 32;
> -    env->icache_line_size = 32;
> -    /* Allocate hardware IRQ controller */
> -    ppc6xx_irq_init(env_archcpu(env));
>  }
>  
>  POWERPC_FAMILY(755)(ObjectClass *oc, void *data)
diff mbox series

Patch

diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c
index 32f99373dc..b4913e25de 100644
--- a/target/ppc/cpu_init.c
+++ b/target/ppc/cpu_init.c
@@ -4548,24 +4548,8 @@  POWERPC_FAMILY(745)(ObjectClass *oc, void *data)
 
 static void init_proc_755(CPUPPCState *env)
 {
-    register_ne_601_sprs(env);
-    register_sdr1_sprs(env);
-    register_7xx_sprs(env);
-    register_755_sprs(env);
+    init_proc_745(env);
     register_755_L2_cache_sprs(env);
-
-    /* Thermal management */
-    register_thrm_sprs(env);
-
-    /* Memory management */
-    register_low_BATs(env);
-    register_high_BATs(env);
-    register_6xx_7xx_soft_tlb(env, 64, 2);
-    init_excp_7x5(env);
-    env->dcache_line_size = 32;
-    env->icache_line_size = 32;
-    /* Allocate hardware IRQ controller */
-    ppc6xx_irq_init(env_archcpu(env));
 }
 
 POWERPC_FAMILY(755)(ObjectClass *oc, void *data)