Re: iomapping a big endian area

From: Russell King (rmk+lkml_at_arm.linux.org.uk)
Date: 04/05/05

  • Next message: Magnus Damm: "[PATCH] opl3sa2: MODULE_PARM_DESC"
    Date:	Tue, 5 Apr 2005 19:55:06 +0100
    To: James Bottomley <James.Bottomley@SteelEye.com>
    
    

    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/
    

  • Next message: Magnus Damm: "[PATCH] opl3sa2: MODULE_PARM_DESC"