target-ppc: Change default cpu for ppc64le-linux-user

The default, 970fx, doesn't support MSR_LE.  So even though we set LE in
ppc_cpu_reset, it gets cleared again in hreg_store_msr.  Error out if a
user-selected cpu model doesn't support LE.

Signed-off-by: Richard Henderson <rth@twiddle.net>
[agraf: switch to POWER7 as default for BE and LE]
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Richard Henderson 2014-06-28 09:45:27 -07:00 committed by Alexander Graf
parent 4bce526ec4
commit a74029f6cb
2 changed files with 8 additions and 4 deletions

View File

@ -3901,11 +3901,11 @@ int main(int argc, char **argv, char **envp)
#elif defined TARGET_OPENRISC
cpu_model = "or1200";
#elif defined(TARGET_PPC)
#ifdef TARGET_PPC64
cpu_model = "970fx";
#else
# ifdef TARGET_PPC64
cpu_model = "POWER7";
# else
cpu_model = "750";
#endif
# endif
#else
cpu_model = "any";
#endif

View File

@ -9551,6 +9551,10 @@ static void ppc_cpu_reset(CPUState *s)
#endif
#if !defined(TARGET_WORDS_BIGENDIAN)
msr |= (target_ulong)1 << MSR_LE; /* Little-endian user mode */
if (!((env->msr_mask >> MSR_LE) & 1)) {
fprintf(stderr, "Selected CPU does not support little-endian.\n");
exit(1);
}
#endif
#endif