Re: [PATCH] asm-generic: architecture independent readq/writeq for32bit environment

From: Linus Torvalds
Date: Wed Feb 08 2012 - 11:28:36 EST


On Wed, Feb 8, 2012 at 8:14 AM, Hitoshi Mitake <h.mitake@xxxxxxxxx> wrote:
> On Tue, Feb 7, 2012 at 12:56, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>>
>> On Feb 6, 2012 6:47 PM, "Hitoshi Mitake" <h.mitake@xxxxxxxxx> wrote:
>>>
>>>  All of them are endian aware
>>
>> I think that part is wrong.
>>
>> Pci is little-endian, so readl and writel are always already little-endian.
>> Trying to make readq be endian-aware is wrong.
>
> Is every memory area which can be read/written by read[wl]/write[wl]
> always little-endian?
>
> If so, of course I have to eliminate the big-endian version.
> But I'm not sure about this point because the new readq/writeq is
> in asm-generic which is used by every archs, so I'd like to ask you about it.

Yes, PCI is always little-endian everywhere.

Now, some architectures may have some unified IO space where parts of
it is PCI, and other parts are programmed the same way but is for some
other bus, but the PCI part will always be little-endian because
otherwise no common driver would ever work. But those non-PCI things
would never be relevant for an emulated readq/writeq anyway, and would
need some bus-specific accessor functions.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/