[U-Boot] armv5 and OMAP3 Question

Adam Ford aford173 at gmail.com
Fri Aug 3 15:02:17 UTC 2018


On Fri, Aug 3, 2018 at 10:00 AM Tom Rini <trini at konsulko.com> wrote:
>
> On Fri, Aug 03, 2018 at 05:43:46AM -0500, Adam Ford wrote:
> > On Tue, Jul 25, 2017 at 11:08 AM Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Tue, Jul 25, 2017 at 08:14:57AM -0500, Adam Ford wrote:
> > >
> > > > The readme file for OMAP indicates that we compile using armv5 to "to
> > > > allow more compilers to work"
> > > >
> > > > We have our arch/arm/mach-omap2/omap3/lowlevel_init.S file also noting
> > > > some special assembly insturctions becuse we use armv5.  The barriers
> > > > defined also indicate we're using CP15 instead of the separate barrier
> > > > instructions for armv7 because we're using armv5 instead.
> > > >
> > > > I just wonder in this day and age when we're noting a GCC version and
> > > > generating warnings based on the GCC warning, do we still need to
> > > > compile as armv5 any more?  It seems like "to allow more compilers to
> > > > work" would not really apply any more we're trying to push newer
> > > > versions of GCC.
> > >
> > > So, these are historical notes that really should be corrected.
> > > Initially, when ARMv7 support was added, most people did not have
> > > compilers new enough to recognize -march=armv7-a.  We still even support
> > > them, see the logic in arch/arm/Makefile around CONFIG_CPU_V7 (the
> > > options are any sort of modern gcc, llvm, ancient gcc).  When we move to
> > > gcc-6 being the oldest gcc supported for ARM we can fixup those comments
> > > and logic as well.
> >
> > My understanding is that we've made the requirement for GCC 6 now.  I
> > just pushed a patch which enabled mtune=armv7-a-generic when
> > CONFIG_CPU_V7A is enabled and that seems to shrink the code a bit on
> > omap3_logic.  Does it make sense to remove the , -march=armv5 from
> > arch/arm/Makefile and or the plain -march=armv7 since CONFIG_CPU_V7A
> > implies armv-a?
>
> Yes, we can probably at least drop the v5 portion of that logic.  As
> noted in the other patch, LLVM and GCC disagree on "armv7" vs "armv7-a"
> as being the appropriate name, or at least did in the past.

Can you point me to an example of how to tune armv7 for both GCC and
LLVM?  I was looking around and I'm not seeing an obvious syntax.
I'll do a 2-part patch.  One to remove the armv5, and one to enable
the armv7 optimization.

adam
>
> --
> Tom


More information about the U-Boot mailing list