Hi all, Working through an incorrect endian issue on qemu-system-sparc64, it has become apparent that at least one OS makes use of the IE (Invert Endian) bit in the SPARCv9 MMU TTE to map PCI memory space without the programmer having to manually endian-swap accesses.
In other words, to quote the UltraSPARC specification: "if this bit is set, accesses to the associated page are processed with inverse endianness from what is specified by the instruction (big-for-little and little-for-big)". Looking through various bits of code, I'm trying to get a feel for the best way to implement this in an efficient manner. From what I can see this could be solved using an additional MMU index, however I'm not overly familiar with the memory and softmmu subsystems. Can anyone point me in the right direction as to what would be the best way to implement this feature within QEMU? Many thanks, Mark.