On 01/19/2012 09:17 PM, Alexander Graf wrote: > E500mc supports IVORs 36-41. Add them to the support mask. > > Signed-off-by: Alexander Graf <ag...@suse.de> > --- > target-ppc/translate_init.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index 83348b5..7d1c6a3 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 |= 0x3F000000000ULL; > + } > + gen_spr_BookE(env, ivor_mask); > /* Processor identification */ > spr_register(env, SPR_BOOKE_PIR, "PIR", > SPR_NOACCESS, SPR_NOACCESS,
What happens when we add e5500 and future chips? We should probably move variant-specific data into a table instead of ad-hocking it. Also, e500mc doesn't just add new IVORs, it drops the SPE IVORs. -Scott