[U-Boot] Pull request: u-boot-arm/master

Albert ARIBAUD albert.u.boot at aribaud.net
Sun Jul 5 16:11:39 CEST 2015


Hello Tom,

On Thu, 2 Jul 2015 18:55:04 -0400, Tom Rini <trini at konsulko.com> wrote:
> On Thu, Jul 02, 2015 at 11:27:20PM +0200, Albert ARIBAUD wrote:
> 
> > Hello Tom,
> > 
> > The following changes since commit 9c6b05cb724e18d1db3f9e1a75b2272572f06fbd:
> > 
> >   Prepare v2015.07-rc3 (2015-06-29 17:22:01 -0400)
> > 
> > are available in the git repository at:
> > 
> >   git://git.denx.de/u-boot-arm master
> > 
> > for you to fetch changes up to d6f9f69632754f03d064cc9b302c9e1552249258:
> > 
> >   arm: dcc: Add uart dcc support for armv8 (2015-07-02 23:24:24 +0200)
> > 
> > ----------------------------------------------------------------
> > Albert ARIBAUD (1):
> >       Merge branch 'u-boot/master' into 'u-boot-arm/master'
> > 
> > Axel Lin (1):
> >       gpio: lpc32xx: Use priv_data instead of platdata
> > 
> > Pavel Machek (1):
> >       armv7: better comment in start.S
> > 
> > Simon Glass (2):
> >       arm: Add ENTRY/ENDPROC to private libgcc functions
> >       Revert "break build if it would produce broken binary"
> > 
> > Siva Durga Prasad Paladugu (1):
> >       arm: dcc: Add uart dcc support for armv8
> > 
> > Tom Rini (1):
> >       arm: Enable CONFIG_USE_ARCH_MEMSET/MEMCPY globally
> 
> I see thumb related breakage on axm, taurus, and stm32f429-discovery
> now.  We probably need the patch you posted that forces the right thumb
> mode on arch/arm/lib/mem{set,cpy}.S ?

Sorry for missing that.

Commit ecaf902 ('arm: Enable CONFIG_USE_ARCH_MEMSET/MEMCPY globally')
actually broke these boards, and I did not notice it from the buildman
summary. The breaking occurs because of the following:

- taurus and its derivative axm are the only two Thumb-1-only targets
  which enable CONFIG_SYS_THUMB_BUILD (for their) SPL; but memset.S and
  memcpy.S can only assemble for ARM or Thumb-2, not Thumb-1.

- stm32f429-discovery is the only armV7-m / CPU_V7M (Thumb1 and Thumb2
  only) target in U-boot... yet does not define CONFIG_SYS_THUMB_BUILD,
  which makes memset.S / memcpy.S assume that they should build for ARM,
  not Thumb2; the assembler correctly refuses that.

My thumb patch fixes taurus and axm as it prevents memset.S and memcpy.S
from trying to assemble for Thumb-1, but does not fix stm32f429-discovery,
for which the fix is to properly announce CONFIG_SYS_THUMB_BUILD in the 
config header file.

Sending v4 of my Thumb-1 patch ASAP.

> -- 
> Tom

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list