MMIO and gcc re-ordering issue
panto at embeddedalley.com
Thu May 29 21:05:48 EST 2008
On 28 Μαϊ 2008, at 11:36 ΠΜ, Haavard Skinnemoen wrote:
> Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:
>>>> I'm happy to say that __raw is purely about ordering and make them
>>>> byteswap on powerpc tho (ie, make them little endian like the non-
>>> That would break a lot of drivers.
>> How many actually use __raw_ * ?
> I do -- in all the drivers for on-chip peripherals that are shared
> between AT91 ARM (LE) and AVR32 (BE). Since everything goes on inside
> the chip, we must use LE accesses on ARM and BE accesses on AVR32.
> Currently, this is the only interface I know that can do native-endian
> accesses, so if you take it away, I'm gonna need an alternative
> interface that doesn't do byteswapping.
I certainly do too.
Quite a lot of SoC specific drivers use __raw for accessing their
Please don't change the __raw semantics, you'll end up breaking almost
everything that's BE.
More information about the Linuxppc-dev