Re: [PATCH v2] MTD: Fix Orion NAND driver compilation with ARM OABI

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Nicolas Pitre
Date: Friday, April 23, 2010 - 12:06 pm

On Thu, 25 Mar 2010, Jamie Lokier wrote:


I don't see how that could happen.  The store into buf[] puts a 
dependency on the output constraint of the inline asm statement.  And by 
vertue of being volatile, gcc cannot cache the result of the output from 
the asm as if it was a pure function.


The LDRD has special range constraints on its addressing mode which is 
not expressable with any of the available gcc memory constraints.


But yet it is not all ARM variants that can do 64-bit accesses.  
Anything pre ARMv5 doesn't have the LDRD instruction, and the equivalent 
LDM is not a possible substitute with regard to memory bus access 
either.

So I'd prefer to keep it as an obvious local exception that happens to 
exploit some specifics of the actual hardware implementation rather than 
something that was architecturally defined.


Nicolas
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH v2] MTD: Fix Orion NAND driver compilation with ..., Nicolas Pitre, (Fri Apr 23, 12:06 pm)