[PATCH v6 10/11] target/ppc: Check endianness at runtime in ppc_data_endian_env()

Philippe Mathieu-Daudé posted 11 patches 1 week ago
Maintainers: Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>
[PATCH v6 10/11] target/ppc: Check endianness at runtime in ppc_data_endian_env()
Posted by Philippe Mathieu-Daudé 1 week ago
Rather a runtime endianness check via env MSR over
a build-time one.

Now CPU can change endianness at runtime.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
---
 target/ppc/internal.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/ppc/internal.h b/target/ppc/internal.h
index e6e60de95a4..dda23b66096 100644
--- a/target/ppc/internal.h
+++ b/target/ppc/internal.h
@@ -37,7 +37,7 @@ static inline bool ppc_env_is_little_endian(const CPUPPCState *env)
  */
 static inline MemOp ppc_data_endian_env(const CPUPPCState *env)
 {
-    return MO_TE;
+    return ppc_env_is_little_endian(env) ? MO_LE : MO_BE;
 }
 
 /* PM instructions */
-- 
2.52.0