Skip to content
Snippets Groups Projects
  1. Oct 11, 2009
  2. Sep 04, 2009
  3. Aug 25, 2009
  4. Aug 21, 2009
    • Wolfgang Denk's avatar
      ARM: compiler options cleanup - improve tool chain support · f772acf8
      Wolfgang Denk authored
      
      For some time there have been repeated reports about build problems
      with some ARM (cross) tool chains.  Especially issues about
      (in)compatibility with the tool chain provided runtime support
      library libgcc.a caused to add and support a private implementation
      of such runtime support code in U-Boot.  A closer look at the code
      indicated that some of these issues are actually home-made.  This
      patch attempts to clean up some of the most obvious problems and make
      building of U-Boot with different tool chains easier:
      
      - Even though all ARM systems basicy used the same compiler options
        to select a specific ABI from the tool chain, the code for this was
        distributed over all cpu/*/config.mk files.  We move this one level
        up into lib_arm/config.mk instead.
      
      - So far, we only checked if "-mapcs-32" was supported by the tool
        chain; if yes, this was used, if not, "-mabi=apcs-gnu" was
        selected, no matter if the tool chain actually understood this
        option.  There was no support for EABI conformant tool chains.
        This patch implements the following logic:
      
        1) If the tool chain supports
      	"-mabi=aapcs-linux -mno-thumb-interwork"
           we use these options (EABI conformant tool chain).
        2) Otherwise, we check first if
      	"-mapcs-32"
           is supported, and then check for
      	"-mabi=apcs-gnu"
           If one test succeeds, we use the first found option.
        3) In case 2), we also test if "-mno-thumb-interwork", and use
           this if the test succeeds. [For "-mabi=aapcs-linux" we set
           "-mno-thumb-interwork" mandatorily.]
      
        This way we use a similar logic for the compile options as the
        Linux kernel does.
      
      - Some EABI conformant tool chains cause external references to
        utility functions like raise(); such functions are provided in the
        new file lib_arm/eabi_compat.c
      
        Note that lib_arm/config.mk gets parsed several times, so we must
        make sure to add eabi_compat.o only once to the linker list.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: Dirk Behme <dirk.behme@googlemail.com>
      Cc: Magnus Lilja <lilja.magnus@gmail.com>
      Cc: Tom Rix <Tom.Rix@windriver.com>
      Cc: Prafulla Wadaskar <prafulla@marvell.com>
      Acked-by: default avatarSergey Kubushyn <ksi@koi8.net>
      Tested-by: default avatarMagnus Lilja <lilja.magnus@gmail.com>
      Tested-by: default avatarAndrzej Wolski <awolski@poczta.fm>
      Tested-by: default avatarGaye Abdoulaye Walsimou <walsimou@walsimou.com>
      Tested-by: default avatarTom Rix <Tom.Rix@windriver.com>
      Tested-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      f772acf8
  5. Aug 09, 2009
  6. Jul 26, 2009
    • Heiko Schocher's avatar
      arm: add _lshrdi3.S · deec15b3
      Heiko Schocher authored
      
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      deec15b3
    • Wolfgang Denk's avatar
      Make linking against libgcc configurable · 52b1bf2c
      Wolfgang Denk authored
      
      Many (especially ARM) tool chains seem to come with broken or
      otherwise unusable (for the purposes of builing U-Boot) run-time
      support libraries `libgcc.a'. By using the "USE_PRIVATE_LIBGCC"
      setting we allow to use alternative libraries instead.
      
      "USE_PRIVATE_LIBGCC" can either be set as an environment variable in
      the shell, or as a command line argument when running "make", i. e.
      	$ make USE_PRIVATE_LIBGCC=yes
      or
      	$ USE_PRIVATE_LIBGCC=yes
      	$ export USE_PRIVATE_LIBGCC
      	$ make
      
      The value of "USE_PRIVATE_LIBGCC" is the name of the directory which
      contains the alternative run-time support library `libgcc.a'. The
      special value "yes" selects the directory $(OBJTREE)/lib_$(ARCH) .
      
      Note that not all architectures provide an alternative `libgcc.a' in
      their lib_$(ARCH) directories - so far, only ARM does.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: Prafulla Wadaskar <prafulla@marvell.com>
      cc: Stefan Roese <sr@denx.de>
      52b1bf2c
  7. Jul 20, 2009
  8. Jul 17, 2009
    • Jean-Christophe PLAGNIOL-VILLARD's avatar
      stdio/device: rework function naming convention · 52cb4d4f
      Jean-Christophe PLAGNIOL-VILLARD authored
      
      So far the console API uses the following naming convention:
      
      	======Extract======
      	typedef struct device_t;
      
      	int	device_register (device_t * dev);
      	int	devices_init (void);
      	int	device_deregister(char *devname);
      	struct list_head* device_get_list(void);
      	device_t* device_get_by_name(char* name);
      	device_t* device_clone(device_t *dev);
      	=======
      
      which is too generic and confusing.
      
      Instead of using device_XX and device_t we change this
      into stdio_XX and stdio_dev
      
      This will also allow to add later a generic device mechanism in order
      to have support for multiple devices and driver instances.
      
      Signed-off-by: default avatarJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      
      Edited commit message.
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      52cb4d4f
  9. Jun 21, 2009
  10. Jun 12, 2009
  11. May 15, 2009
  12. Apr 26, 2009
  13. Apr 16, 2009
  14. Apr 05, 2009
  15. Apr 04, 2009
  16. Mar 20, 2009
    • Mike Frysinger's avatar
      cmc_pu2: get mac address from environment · 92b50ffe
      Mike Frysinger authored
      
      The environment is the canonical storage location of the mac address, so
      we're killing off the global data location and moving everything to
      querying the env directly.
      
      Also rename load_sernum_ethaddr() to misc_init_r() so we don't need to
      handle this board specially in common ARM code.
      
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      92b50ffe
    • Mike Frysinger's avatar
      arm: get mac address from environment · f11e6ff5
      Mike Frysinger authored
      
      The environment is the canonical storage location of the mac address, so
      we're killing off the global data location and moving everything to
      querying the env directly.
      
      Some warts are remaining and should be killed off (by moving the func to
      the appropriate board init code):
      	- davinci_eth_set_mac_addr
      	- cs8900_get_enetaddr
      	- smc_set_mac_addr
      
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      f11e6ff5
  17. Feb 22, 2009
  18. Feb 17, 2009
  19. Feb 06, 2009
  20. Jan 31, 2009
  21. Dec 06, 2008
  22. Nov 21, 2008
  23. Oct 28, 2008
    • Kumar Gala's avatar
      bootm: Add subcommands · 49c3a861
      Kumar Gala authored
      
      Add the ability to break the steps of the bootm command into several
      subcommands: start, loados, ramdisk, fdt, bdt, cmdline, prep, go.
      
      This allows us to do things like manipulate device trees before
      they are passed to a booting kernel or setup memory for a secondary
      core in multicore situations.
      
      Not all OS types support all subcommands (currently only start, loados,
      ramdisk, fdt, and go are supported).
      
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      49c3a861
  24. Oct 18, 2008
  25. Oct 08, 2008
  26. Sep 30, 2008
  27. Sep 08, 2008
  28. Aug 30, 2008
    • Sandeep Paulraj's avatar
      ARM DaVinci: Changing function names for EMAC driver · fcaac589
      Sandeep Paulraj authored
      
      DM644x is just one of a series of DaVinci chips that use the EMAC driver.
      By replacing all the function names that start with dm644x_* to davinci_*
      we make these function more portable. I have tested this change on my EVM.
      DM6467 is another DaVinci SOC which uses the EMAC driver and i will
      be sending patches that add DaVinci DM6467 support to the list soon.
      
      Signed-off-by: default avatarSandeep Paulraj <s-paulraj@ti.com>
      fcaac589
Loading