On 13/12/22 17:00, Richard Henderson wrote:
On 12/13/22 06:52, Philippe Mathieu-Daudé wrote:
Assuming the developers of commits 2c50e26efd ("powerpc: Add
a virtex5 ml507 refdesign board") and 4b387f9ee1 ("ppc: Add
aCube Sam460ex board") were testing on a little-endian setup,
they meant to use const_le32() instead of tswap32() here,
since tswap32() depends on the host endianness.
tswap depends on target endianness.
Yes, it depends on both host/target endianness. What I meant
is we shouldn't have system code depending on host endianness.
(I'm trying to reduce it to semihosting / user-emulation).
@@ -255,7 +256,7 @@ static void main_cpu_reset(void *opaque)
/* Create a mapping for the kernel. */
mmubooke_create_initial_mapping(env, 0, 0);
- env->gpr[6] = tswap32(EPAPR_MAGIC);
+ env->gpr[6] = const_le32(EPAPR_MAGIC);
I think this is probably wrong.
Since this is used for the kernel, I'll try to get its endianness
from the load_kernel() calls.