On 08/28/2013 09:38 AM, Peter Maydell wrote: >> (B) Add an additional bit to the "opc" to indicate which endianness is >> desired. >> E.g. 0 = LE, 8 = BE. Expose the opc interface to the translators. At which >> point generating a load becomes more like >> >> tcg_gen_qemu_ld_tl(dest, addr, size | sign | dc->big_endian); >> >> and the current endianness of the guest becomes a bit on the TB, to be copied >> into the DisasContext at the beginning of translation. > > I guess we deal with ARMv5-style BE32 by having the target > emit an explicit XOR TCG op?
Yes. I see no other way to implement that. > Do we need to overhaul the C interface to the > memory system too? (ie ldl_p and friends). I don't think so, since we already have ldl_{le,be}_p. r~