1. 17 9月, 2014 12 次提交
  2. 16 9月, 2014 3 次提交
  3. 14 9月, 2014 3 次提交
  4. 12 9月, 2014 3 次提交
    • T
      Merge branch 'master' of git://git.denx.de/u-boot-arm · 114cc429
      Tom Rini 提交于
      114cc429
    • B
      arm: Fix _start for CONFIG_SYS_DV_NOR_BOOT_CFG · a7f99bf1
      Benoît Thébaudeau 提交于
      The boards using CONFIG_SYS_DV_NOR_BOOT_CFG (i.e. calimain,
      da850evm_direct_nor and enbw_cmc) had the _start symbol defined after
      the CONFIG_SYS_DV_NOR_BOOT_CFG word rather than before it in
      arch/arm/lib/vectors.S. Because of that, if by lack of luck
      'gd->mon_len = (ulong)&__bss_end - (ulong)_start' (see setup_mon_len())
      was a multiple of 4 kiB (see reserve_uboot()), then the last BSS word
      overlapped the first word of the following reserved RAM area (or went
      beyond the top of RAM without such an area) after relocation because
      __image_copy_start did not match _start (see relocate_code()).
      
      This was broken by commit 41623c91 'arm: move exception handling out of
      start.S files', which defined _start twice (before and after the
      CONFIG_SYS_DV_NOR_BOOT_CFG word), then by commit 0a26e1d6 'arm: fix a
      double-definition error of _start symbol', which kept the definition of
      the _start symbol after the CONFIG_SYS_DV_NOR_BOOT_CFG word. This new
      commit fixes this issue by restoring the original behavior, i.e. by
      defining the _start symbol before the CONFIG_SYS_DV_NOR_BOOT_CFG word.
      Signed-off-by: NBenoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
      Cc: Albert Aribaud <albert.u.boot@aribaud.net>
      Cc: Manfred Rudigier <manfred.rudigier@omicron.at>
      Cc: Christian Riesch <christian.riesch@omicron.at>
      Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
      Cc: Heiko Schocher <hs@denx.de>
      a7f99bf1
    • B
      arm: Make reset position-independent · 58f9e1ae
      Benoît Thébaudeau 提交于
      Some boards, like mx31pdk and tx25, require the beginning of the SPL
      code to be position-independent. For these two boards, this is because
      they use the i.MX external NAND boot, which starts by executing the
      first NAND Flash page from the NFC page buffer. The SPL then needs to
      copy itself to its actual link address in order to free the NFC page
      buffer and use it to load the non-SPL image from Flash before running
      it. This means that the SPL runtime address differs from its link
      address between the reset and the initial copy performed by
      board_init_f(), so this part of the SPL binary must be
      position-independent.
      
      This requirement was broken by commit 41623c91 'arm: move exception
      handling out of start.S files', which used an absolute address to branch
      to the reset routine. This new commit restores the original behavior,
      which just performed a relative branch. This fixes the boot of mx31pdk
      and tx25.
      Signed-off-by: NBenoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
      Reported-by: NHelmut Raiger <helmut.raiger@hale.at>
      Cc: Albert Aribaud <albert.u.boot@aribaud.net>
      Cc: Magnus Lilja <lilja.magnus@gmail.com>
      Cc: John Rigby <jcrigby@gmail.com>
      Tested-by: NMagnus Lilja <lilja.magnus@gmail.com>
      58f9e1ae
  5. 11 9月, 2014 19 次提交