target/ppc: removed VSCR from SPR registration
Since vscr is not an spr, its initialization was removed from the spr registration functions, and moved to the relevant init_procs. We may look into adding vscr to the reset path instead of the init path (as suggested by David Gibson), but this looked like a good enough solution for now. Signed-off-by: Bruno Larsen (billionai) <bruno.larsen@eldorado.org.br> Message-Id: <20210430193533.82136-6-bruno.larsen@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
72369f5c95
commit
f350982f5e
@ -1693,8 +1693,6 @@ static void gen_spr_74xx(CPUPPCState *env)
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, spr_access_nop,
|
||||
0x00000000);
|
||||
/* Not strictly an SPR */
|
||||
vscr_init(env, 0x00010000);
|
||||
}
|
||||
|
||||
static void gen_l3_ctrl(CPUPPCState *env)
|
||||
@ -6618,6 +6616,7 @@ static void init_proc_7400(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_UBAMR, "UBAMR",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
@ -6697,6 +6696,7 @@ static void init_proc_7410(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_UBAMR, "UBAMR",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
@ -6782,6 +6782,7 @@ static void init_proc_7440(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_UBAMR, "UBAMR",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
@ -6890,6 +6891,7 @@ static void init_proc_7450(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* Level 3 cache control */
|
||||
gen_l3_ctrl(env);
|
||||
/* L3ITCR1 */
|
||||
@ -7024,6 +7026,7 @@ static void init_proc_7445(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* LDSTCR */
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_LDSTCR, "LDSTCR",
|
||||
@ -7161,6 +7164,7 @@ static void init_proc_7455(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* Level 3 cache control */
|
||||
gen_l3_ctrl(env);
|
||||
/* LDSTCR */
|
||||
@ -7300,6 +7304,7 @@ static void init_proc_7457(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* Level 3 cache control */
|
||||
gen_l3_ctrl(env);
|
||||
/* L3ITCR1 */
|
||||
@ -7463,6 +7468,7 @@ static void init_proc_e600(CPUPPCState *env)
|
||||
gen_tbl(env);
|
||||
/* 74xx specific SPR */
|
||||
gen_spr_74xx(env);
|
||||
vscr_init(env, 0x00010000);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_UBAMR, "UBAMR",
|
||||
&spr_read_ureg, SPR_NOACCESS,
|
||||
@ -7713,11 +7719,6 @@ static void gen_spr_book3s_altivec(CPUPPCState *env)
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
KVM_REG_PPC_VRSAVE, 0x00000000);
|
||||
|
||||
/*
|
||||
* Can't find information on what this should be on reset. This
|
||||
* value is the one used by 74xx processors.
|
||||
*/
|
||||
vscr_init(env, 0x00010000);
|
||||
}
|
||||
|
||||
static void gen_spr_book3s_dbg(CPUPPCState *env)
|
||||
@ -8415,6 +8416,11 @@ static void init_proc_book3s_common(CPUPPCState *env)
|
||||
gen_spr_book3s_pmu_sup(env);
|
||||
gen_spr_book3s_pmu_user(env);
|
||||
gen_spr_book3s_ctrl(env);
|
||||
/*
|
||||
* Can't find information on what this should be on reset. This
|
||||
* value is the one used by 74xx processors.
|
||||
*/
|
||||
vscr_init(env, 0x00010000);
|
||||
}
|
||||
|
||||
static void init_proc_970(CPUPPCState *env)
|
||||
|
Loading…
Reference in New Issue
Block a user