aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/translate_init.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2012-01-19 18:57:26 +0100
committerAlexander Graf <agraf@suse.de>2012-02-02 02:47:45 +0100
commit2c9732dbc0df8c7c40c945b6558da8a448b8c069 (patch)
tree53dc1d65d02794d3d3c0d56ecf8957b1fb6b2a0d /target-ppc/translate_init.c
parente9205258ac7de7aba579ee07efc49dda66f51e63 (diff)
downloadqemu-2c9732dbc0df8c7c40c945b6558da8a448b8c069.zip
qemu-2c9732dbc0df8c7c40c945b6558da8a448b8c069.tar.gz
qemu-2c9732dbc0df8c7c40c945b6558da8a448b8c069.tar.bz2
PPC: e500mc: add missing IVORs to bitmap
E500mc supports IVORs 36-41. Add them to the support mask. Drop SPE support too. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/translate_init.c')
-rw-r--r--target-ppc/translate_init.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 83348b5..f5fcd1e 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -4433,6 +4433,7 @@ enum fsl_e500_version {
static void init_proc_e500 (CPUPPCState *env, int version)
{
uint32_t tlbncfg[2];
+ uint64_t ivor_mask = 0x0000000F0000FFFFULL;
#if !defined(CONFIG_USER_ONLY)
int i;
#endif
@@ -4444,7 +4445,10 @@ static void init_proc_e500 (CPUPPCState *env, int version)
* complain when accessing them.
* gen_spr_BookE(env, 0x0000000F0000FD7FULL);
*/
- gen_spr_BookE(env, 0x0000000F0000FFFFULL);
+ if (version == fsl_e500mc) {
+ ivor_mask = 0x000003FE0000FFFFULL;
+ }
+ gen_spr_BookE(env, ivor_mask);
/* Processor identification */
spr_register(env, SPR_BOOKE_PIR, "PIR",
SPR_NOACCESS, SPR_NOACCESS,