[U-Boot] [PATCH] disk:efi: avoid unaligned access on efi partition

Piotr Wilczek
2013-10-14T13:49:43Z

Dear Albert and M?ns,

> -----Original Message-----
> From: M?ns Rullg?rd [mailto:mans at mansr.com]
> Sent: Monday, October 14, 2013 3:05 PM
> To: Albert ARIBAUD
> Cc: Piotr Wilczek; 'Tom Rini'; u-boot at lists.denx.de; 'Kyungmin Park'
> Subject: Re: [U-Boot] [PATCH] disk:efi: avoid unaligned access on efi
> partition
>
> Albert ARIBAUD <albert.u.boot@aribaud.net> writes:
>
> >> > Please do not advise using native unaligned accesses on code that
> >> > is not strictly used by ARMv6+ architectures: the present code,
> for
> >> > instance, might be run on pre-ARMv6 or non-ARM platforms, and
> thus,
> >> > should never assume ability to perform unaligned accesses
> natively.
> >>
> >> I'm advising no such thing. I said two things:
> >>
> >> 1. Declaring a struct with the 'packed' attribute makes gcc
> >> automatically generate correct code for all targets. _IF_ the
> >> selected target supports unaligned ldr/str, these might get
> used.
> >>
> >> 2. If your target is ARMv6 or later _AND_ you enable strict
> alignment
> >> checking in the system control register, you _MUST_ build with
> the
> >> -mno-unaligned-access flag.
> >
> > Then I apologize; I had read "Note that on ARMv6 and later ldr/str
> > support unaligned addresses unless this is explicitly disabled in the
> > system control register" as a suggestion to use that capability.
>
> If building for ARMv6 or later, I do suggest allowing unaligned
> accesses. The moment you add -march=armv6 (or equivalent), you allow
> for a number of things not supported by older versions, so why not
> unaligned memory accesses?
>

Thank you for your comments, I will follow your advice.

Best regards
Piotr Wilczek

> --
> M?ns Rullg?rd
> mans at mansr.com