Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 5 Apr 2005 19:55:06 +0100 | From | Russell King <> | Subject | Re: iomapping a big endian area |
| |
On Tue, Apr 05, 2005 at 09:05:15AM -0500, James Bottomley wrote: > On Tue, 2005-04-05 at 08:42 +0100, Russell King wrote: > > Not so. There are two different styles of big endian. (Lets just face > > it, BE is fucked in the head anyway...) > > > > physical bus: 31...24 23...16 15...8 7...0 > > > > BE version 1 (word invariant) > > byte access byte 0 byte 1 byte 2 byte 3 > > word access 31-24 23-16 15-8 7-0 > > > > BE version 2 (byte invariant) > > byte access byte 3 byte 2 byte 1 byte 0 > > word access 7-0 15-8 23-16 31-24 > > These are just representations of the same thing. However, I did > deliberately elect not to try to solve this problem in the accessors. I > know all about the register relayout, because 53c700 has to do that on > parisc.
They aren't. On some of our platforms, we have to exclusive-or the address for byte accesses with 3 to convert to the right endian-ness.
Sure, from the point of view of which byte each byte of a word represents, it's true that they're indentical. But as far as the hardware is concerned, they're definitely different.
See the Intel IXP platforms for an example.
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |