diff options
author | Meador Inge <meadori@codesourcery.com> | 2012-04-10 15:04:23 -0500 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2012-04-15 18:09:04 +0200 |
commit | a5cabbda760c798bb551d53a697058de28fce51c (patch) | |
tree | 23ba8a335e464be47e652608146e97d8ab2ce3d7 /target-ppc | |
parent | 5724753e6576fc26ff4a563a6c2ccb8ce3b02cb8 (diff) | |
download | hqemu-a5cabbda760c798bb551d53a697058de28fce51c.zip hqemu-a5cabbda760c798bb551d53a697058de28fce51c.tar.gz |
target-ppc: Init dcache and icache size for e500 user mode
commit f7aa558396dd0f6b7a2b22c05cb503c655854102 pulled the dcache and icache
line size initialization inside of a '#if !defined(CONFIG_USER_ONLY)' block.
This is not correct because instructions like 'dcbz' need the dcache size
initialized even for user mode.
Signed-off-by: Meador Inge <meadori@codesourcery.com>
Cc: Varun Sethi <Varun.Sethi@freescale.com>
[AF: Simplify #ifdefs by using cache line size 32 for *-user as before]
Suggested-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-ppc')
-rw-r--r-- | target-ppc/translate_init.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index fdc0a5f..ba4b84d 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -4462,7 +4462,10 @@ static void init_proc_e500 (CPUPPCState *env, int version) &spr_read_spefscr, &spr_write_spefscr, 0x00000000); /* Memory management */ -#if !defined(CONFIG_USER_ONLY) +#if defined(CONFIG_USER_ONLY) + env->dcache_line_size = 32; + env->icache_line_size = 32; +#else /* !defined(CONFIG_USER_ONLY) */ env->nb_pids = 3; env->nb_ways = 2; env->id_tlbs = 0; |