PPC: Ignore writes to L2CR
The L2CR register contains a number of bits that either impose configuration which we can't deal with or mean "something is in progress until the bit is 0 again". Since we don't model the former and we do want to accomodate guests using the latter semantics, let's just ignore writes to L2CR. That way guests always read back 0 and are usually happy with that. Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
0d54a5024f
commit
2345f1c014
@ -1381,7 +1381,7 @@ static void gen_spr_74xx (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Not strictly an SPR */
|
||||
vscr_init(env, 0x00010000);
|
||||
@ -5169,7 +5169,7 @@ static void init_proc_750 (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Time base */
|
||||
gen_tbl(env);
|
||||
@ -5232,7 +5232,7 @@ static void init_proc_750cl (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Time base */
|
||||
gen_tbl(env);
|
||||
@ -5418,7 +5418,7 @@ static void init_proc_750cx (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Time base */
|
||||
gen_tbl(env);
|
||||
@ -5485,7 +5485,7 @@ static void init_proc_750fx (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Time base */
|
||||
gen_tbl(env);
|
||||
@ -5557,7 +5557,7 @@ static void init_proc_750gx (CPUPPCState *env)
|
||||
/* XXX : not implemented (XXX: different from 750fx) */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Time base */
|
||||
gen_tbl(env);
|
||||
@ -5693,7 +5693,7 @@ static void init_proc_755 (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2PMCR, "L2PMCR",
|
||||
@ -6524,7 +6524,7 @@ static void init_proc_970 (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Memory management */
|
||||
/* XXX: not correct */
|
||||
@ -6624,7 +6624,7 @@ static void init_proc_970FX (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Memory management */
|
||||
/* XXX: not correct */
|
||||
@ -6736,7 +6736,7 @@ static void init_proc_970GX (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Memory management */
|
||||
/* XXX: not correct */
|
||||
@ -6836,7 +6836,7 @@ static void init_proc_970MP (CPUPPCState *env)
|
||||
/* XXX : not implemented */
|
||||
spr_register(env, SPR_L2CR, "L2CR",
|
||||
SPR_NOACCESS, SPR_NOACCESS,
|
||||
&spr_read_generic, &spr_write_generic,
|
||||
&spr_read_generic, NULL,
|
||||
0x00000000);
|
||||
/* Memory management */
|
||||
/* XXX: not correct */
|
||||
|
Loading…
Reference in New Issue
Block a user