Skip to content
Snippets Groups Projects
  1. Mar 30, 2012
    • Simon Glass's avatar
      arm: add a common .lds link script · dde3b70d
      Simon Glass authored
      
      Most ARM CPUs use a very similar link script. This adds a basic
      script that can be used by most CPUs.
      
      Two new symbols are introduced which are intended to eventually be
      defined on all architectures to make things easier for generic relocation
      and reduce special-case code for each architecture:
      
      __image_copy_start is the start of the text area (equivalent to the
      existing _start on ARM). It marks the start of the region which must be
      copied to a new location during relocation. This symbol is called
      __text_start on x86 and microblaze.
      
      __image_copy_end is the end of the region which must be copied to a new
      location during relocation. It is normally equal to the start of the BSS
      region, but this can vary in some cases (SPL?). Making this an explicit
      symbol on its own removes any ambiguity and permits common code to always
      do the right thing.
      
      This new script makes use of CPUDIR, now defined by both Makefile and
      spl/Makefile, to find the directory containing the start.o object file,
      which is always placed first in the image.
      
      To permit MMU setup prior to relocation (as used by pxa) we add an area
      to the link script which contains space for this. This is taken
      from commit 7f4cfcf4. CPUs can put the contents in there using their
      start.S file. BTW, shouldn't that area be 16KB-aligned?
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      dde3b70d
    • Simon Glass's avatar
      arm: Remove unneeded setting of LDCSRIPT · 9492791a
      Simon Glass authored
      
      This is set by the top level Makefile anyway, so drop it. This does
      have the effect of changing the order - now the board link script will
      have preference over the CPU one. But this seems more correct anyway.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      9492791a
    • Simon Glass's avatar
      Define CPUDIR for the .lds link script · 7e6403a6
      Simon Glass authored
      
      Most link scripts differ only in the directory containing the start.o
      file. Make this a #define to remove this last difference.
      
      (Note that if start.o were disallowed outside the CPU start directory then
      we wouldn't even need this. But that is a separate discussion.)
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      7e6403a6
    • Simon Glass's avatar
      arm: Remove zipitz2 link script · 3a62d8c3
      Simon Glass authored
      
      This link script doesn't appear to do anything useful or unique, so
      drop it, and rely on the CPU one.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      3a62d8c3
    • Simon Glass's avatar
      Allow arch directory to contain .lds without requiring Makefile · ee60197e
      Simon Glass authored
      
      The Makefile for a CPU is in arch/($ARCH)/cpu/$(CPU). We want to support
      having an .lds file in arch/$(ARCH)/cpu without requiring an additional
      Makefile there. This change makes it clear that we expect a Makefile in
      the same directory as the link script except in this case.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      ee60197e
  2. Mar 29, 2012
Loading