qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] [PULL 2/8] target-ppc: Change default cpu for ppc64le-linux-u


From: Alexander Graf
Subject: [Qemu-ppc] [PULL 2/8] target-ppc: Change default cpu for ppc64le-linux-user
Date: Tue, 8 Jul 2014 12:20:12 +0200

From: Richard Henderson <address@hidden>

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 <address@hidden>
[agraf: switch to POWER7 as default for BE and LE]
Signed-off-by: Alexander Graf <address@hidden>
---
 linux-user/main.c           | 8 ++++----
 target-ppc/translate_init.c | 4 ++++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/linux-user/main.c b/linux-user/main.c
index 900a17f..b453a39 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -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
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 2ab2810..7b4d9be 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -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
 
-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]