1. 17 Nov, 2010 2 commits
    • Sebastien Carlier's avatar
      Switch from archive libraries to partial linking · 6d8962e8
      Sebastien Carlier authored
      Before this commit, weak symbols were not overridden by non-weak symbols
      found in archive libraries when linking with recent versions of
      binutils.  As stated in the System V ABI, "the link editor does not
      extract archive members to resolve undefined weak symbols".
      
      This commit changes all Makefiles to use partial linking (ld -r) instead
      of creating library archives, which forces all symbols to participate in
      linking, allowing non-weak symbols to override weak symbols as intended.
      This approach is also used by Linux, from which the gmake function
      cmd_link_o_target (defined in config.mk and used in all Makefiles) is
      inspired.
      
      The name of each former library archive is preserved except for
      extensions which change from ".a" to ".o".  This commit updates
      references accordingly where needed, in particular in some linker
      scripts.
      
      This commit reveals board configurations that exclude some features but
      include source files that depend these disabled features in the build,
      resulting in undefined symbols.  Known such cases include:
      - disabling CMD_NET but not CMD_NFS;
      - enabling CONFIG_OF_LIBFDT but not CONFIG_QE.
      Signed-off-by: default avatarSebastien Carlier <sebastien.carlier@gmail.com>
      6d8962e8
    • Albert Aribaud's avatar
      ARM: fix linker file for newer ld support · aaeb0a89
      Albert Aribaud authored
      older ld emitted all ELF relocations in input sections named
      .rel.dyn, whereas newer ld uses names of the form .rel*. The
      linker script only collected .rel.dyn input sections. Rewrite
      to collect all .rel* input sections.
      Signed-off-by: default avatarAlbert Aribaud <albert.aribaud@free.fr>
      aaeb0a89
  2. 29 Oct, 2010 2 commits
  3. 26 Oct, 2010 4 commits
  4. 19 Oct, 2010 1 commit
  5. 18 Oct, 2010 1 commit
    • Wolfgang Denk's avatar
      Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE · 14d0a02a
      Wolfgang Denk authored
      The change is currently needed to be able to remove the board
      configuration scripting from the top level Makefile and replace it by
      a simple, table driven script.
      
      Moving this configuration setting into the "CONFIG_*" name space is
      also desirable because it is needed if we ever should move forward to
      a Kconfig driven configuration system.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      14d0a02a
  6. 13 Oct, 2010 2 commits
  7. 11 Oct, 2010 1 commit
  8. 19 Sep, 2010 2 commits
    • Heiko Schocher's avatar
      ARM: implement relocation for ARM11 · e48b7c0a
      Heiko Schocher authored
      Change the implementation for ARM11 to relocate the code to an
      arbitrary address in RAM.
      
      Tested on the qong board.
      
      Portions of this work were supported by funding from
      the CE Linux Forum.
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      e48b7c0a
    • Heiko Schocher's avatar
      ARM (ARM11): add data cache support, test on Qong board · 7e4a9e6d
      Heiko Schocher authored
      Add data cache support for arm1136 systems.
      
      Enable "cache" command on Qong board and test performance.
      
          Test 1: Loading 127 MB of data from NAND flash into RAM:
      
          Instr. Cache	off	on	on
            Data Cache	off	off	on
          --------------------------------------------------
          QONG (ARM11)	177s	95s	43s	= x 4.1
      
          Test 2: uncompressing a gzipped image from RAM to RAM
                  (size compressed: 6.5 MiB, uncompressed: 35 MiB):
      
          Instr. Cache	off	on	on
            Data Cache	off	off	on
          --------------------------------------------------
          QONG (ARM11)	1.54s	0.95s	0.18s	= x 8.6
      
      Portions of this work were supported by funding from
      the CE Linux Forum.
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      7e4a9e6d
  9. 22 Jun, 2010 2 commits
  10. 01 Jun, 2010 1 commit
    • George G. Davis's avatar
      ARM1136: Fix cache_flush() error and correct cpu_init_crit() comments · 409a07c9
      George G. Davis authored
      The ARM1136 cache_flush() function uses the "mcr p15, 0, rn, c7, c7, 0"
      instruction which means "Invalidate Both Caches" when in fact the intent
      is to clean and invalidate all caches.  So add an "mcr p15, 0, %0, c7,
      c10, 0" instruction to "Clean Entire Data Cache" prior to the "Invalidate
      Both Caches" instruction to insure that memory is consistent with any
      dirty cache lines.
      
      Also fix a couple of "flush v*" comments in ARM1136 cpu_init_crit() so
      that they correctly describe the actual ARM1136 CP15 C7 Cache Operations
      used.
      Signed-off-by: default avatarGeorge G. Davis <gdavis@mvista.com>
      409a07c9
  11. 21 May, 2010 1 commit
  12. 13 Apr, 2010 1 commit