[U-Boot] [PATCH v2] arm: Switch to -mno-unaligned-access when supported by the compiler

Wolfgang Denk wd at denx.de
Tue Feb 11 19:18:03 CET 2014


Dear Måns Rullgård,

In message <yw1xfvnpaclm.fsf at unicorn.mansr.com> you wrote:
>
> > With application code you don't really care whether a variable is
> > read/written in one piece or broken down into several smaller
> > reads/writes - except when you notice that performance suffers.
> >
> > When accessing hardware, it often makes a fundamental difference
> > whether you access a device register with it's correct size or not.
> > Usually breaking down an access into smaller ones results in crashes
> > or incorrect data or other errors.
> 
> I'm well aware of this, but it has nothing to do with the issue at hand.

This is by your definition, or based on which exact rationale?

> Device registers are always aligned.  In properly written code these are
> accessed using pointers the compiler knows to be aligned and thus does
> the right thing.

Maybe the device registers you have seen so far have always been
perfectly aligned.  Lucky you.  Note that there are a number of
designs around (that I do not hesitate to call broken) which have
such properties.  And when we include external hardware into the
discussion like PCI attached devices or customer-designed FPGAs,
it becomes even more "interesting".

I think we can stop the discussion here (at least I will do that now).
I haven't seen any new arguments coming up.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The trouble with our times is that the future is not what it used  to
be.                                                     - Paul Valery


More information about the U-Boot mailing list