1. 18 11月, 2010 1 次提交
    • S
      Switch from archive libraries to partial linking · 6d8962e8
      Sebastien Carlier 提交于
      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: NSebastien Carlier <sebastien.carlier@gmail.com>
      6d8962e8
  2. 20 9月, 2010 3 次提交
    • W
      Add hash table support as base for new environment code · a6826fbc
      Wolfgang Denk 提交于
      This implementation is based on code from uClibc-0.9.30.3 but was
      modified and extended for use within U-Boot.
      
      Major modifications and extensions:
      
      * hsearch() [modified / extended]:
        - While the standard version does not make any assumptions about
          the type of the stored data objects at all, this implementation
          works with NUL terminated strings only.
        - Instead of storing just pointers to the original objects, we
          create local copies so the caller does not need to care about the
          data any more.
        - The standard implementation does not provide a way to update an
          existing entry.  This version will create a new entry or update an
          existing one when both "action == ENTER" and "item.data != NULL".
        - hsearch_r(): Instead of returning 1 on success, we return the
          index into the internal hash table, which is also guaranteed to be
          positive.  This allows us direct access to the found hash table
          slot for example for functions like hdelete().
      * hdelete() [added]:
        - The standard implementation of hsearch(3) does not provide any way
          to delete any entries from the hash table.  We extend the code to
          do that.
      * hexport() [added]:
        - Export the data stored in the hash table in linearized form:
          Entries are exported as "name=value" strings, separated by an
          arbitrary (non-NUL, of course) separator character. This allows to
          use this function both when formatting the U-Boot environment for
          external storage (using '\0' as separator), but also when using it
          for the "printenv" command to print all variables, simply by using
          as '\n" as separator. This can also be used for new features like
          exporting the environment data as text file, including the option
          for later re-import.
        - The entries in the result list will be sorted by ascending key
          values.
      * himport() [added]:
        - Import linearized data into hash table.  This is the inverse
          function to hexport(): it takes a linear list of "name=value"
          pairs and creates hash table entries from it.
        - Entries without "value", i. e. consisting of only "name" or
          "name=", will cause this entry to be deleted from the hash table.
        - The "flag" argument can be used to control the behaviour: when
          the H_NOCLEAR bit is set, then an existing hash table will kept,
          i. e. new data will be added to an existing hash table;
          otherwise, old data will be discarded and a new hash table will
          be created.
        - The separator character for the "name=value" pairs can be
          selected, so we both support importing from externally stored
          environment data (separated by NUL characters) and from plain text
          files (entries separated by newline characters).
        - To allow for nicely formatted text input, leading white space
          (sequences of SPACE and TAB chars) is ignored, and entries
          starting (after removal of any leading white space) with a '#'
          character are considered comments and ignored.
        - NOTE: this means that a variable name cannot start with a '#'
          character.
        - When using a non-NUL separator character, backslash is used as
          escape character in the value part, allowing for example fo
          multi-line values.
        - In theory, arbitrary separator characters can be used, but only
          '\0' and '\n' have really been tested.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      a6826fbc
    • W
      Add qsort - add support for sorting data arrays · 54c6977e
      Wolfgang Denk 提交于
      Code adapted from uClibc-0.9.30.3
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      54c6977e
    • W
      Add basic errno support. · 65cd3fa8
      Wolfgang Denk 提交于
      Needed for hash table support; probably useful in a lot of other
      places as well.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      65cd3fa8
  3. 13 4月, 2010 1 次提交
  4. 26 1月, 2010 1 次提交
  5. 22 1月, 2010 2 次提交
  6. 18 1月, 2010 1 次提交
    • D
      Make getenv_IPaddr() global · 6a45e384
      Dirk Behme 提交于
      There are boards out there that do not have network support in
      U-Boot (CONFIG_CMD_NET not set), but they do so in Linux. This
      makes it desirable to be able to port network configuration (like
      the IP address) to the Linux kernel.
      
      We should not make the passing of the IP configuration to Linux
      dependent on U-Boot features / settings.
      
      For this, make getenv_IPaddr() global. This fixes build error
      
      u-boot/lib_xxx/board.c:360: undefined reference to `getenv_IPaddr'
      
      on various architectures.
      Signed-off-by: NDirk Behme <dirk.behme@googlemail.com>
      Acked-by: NBen Warren <biggerbadderben@gmail.com>
      6a45e384
  7. 05 12月, 2009 1 次提交
    • I
      Generic udelay() with watchdog support · 3eb90bad
      Ingo van Lil 提交于
      According to the PPC reference implementation the udelay() function is
      responsible for resetting the watchdog timer as frequently as needed.
      Most other architectures do not meet that requirement, so long-running
      operations might result in a watchdog reset.
      
      This patch adds a generic udelay() function which takes care of
      resetting the watchdog before calling an architecture-specific
      __udelay().
      Signed-off-by: NIngo van Lil <inguin@gmx.de>
      3eb90bad
  8. 03 12月, 2009 1 次提交
  9. 12 2月, 2009 1 次提交
  10. 16 12月, 2008 1 次提交
    • K
      Introduce addr_map library · 63240ba8
      Kumar Gala 提交于
      Add a library that helps in translating between virtual and physical
      addresses.  This library can be useful as a simple means to implement
      map_physmem() and virt_to_phys() for platforms that need functionality
      beyond the simple 1:1 mapping.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      63240ba8
  11. 19 10月, 2008 1 次提交
  12. 29 8月, 2008 2 次提交
  13. 21 8月, 2008 1 次提交
  14. 01 7月, 2008 1 次提交
  15. 21 5月, 2008 1 次提交
    • W
      Big white-space cleanup. · 53677ef1
      Wolfgang Denk 提交于
      This commit gets rid of a huge amount of silly white-space issues.
      Especially, all sequences of SPACEs followed by TAB characters get
      removed (unless they appear in print statements).
      
      Also remove all embedded "vim:" and "vi:" statements which hide
      indentation problems.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      53677ef1
  16. 14 3月, 2008 1 次提交
  17. 29 2月, 2008 1 次提交
  18. 16 11月, 2007 1 次提交
  19. 10 8月, 2007 1 次提交
  20. 23 6月, 2007 1 次提交
    • H
      [PCS440EP] upgrade the PCS440EP board: · 566a494f
      Heiko Schocher 提交于
                      - Show on the Status LEDs, some States of the board.
                      - Get the MAC addresses from the EEProm
                      - use PREBOOT
                      - use the CF on the board.
                      - check the U-Boot image in the Flash with a SHA1
                        checksum.
                      - use dynamic TLB entries generation for the SDRAM
      Signed-off-by: NHeiko Schocher <hs@denx.de>
      566a494f
  21. 09 10月, 2006 2 次提交
  22. 02 9月, 2006 1 次提交
    • M
      Add support for a saving build objects in a separate directory. · f9328639
      Marian Balakowicz 提交于
      Modifications are based on the linux kernel approach and
      support two use cases:
      
        1) Add O= to the make command line
        'make O=/tmp/build all'
      
        2) Set environement variable BUILD_DIR to point to the desired location
        'export BUILD_DIR=/tmp/build'
        'make'
      
      The second approach can also be used with a MAKEALL script
      'export BUILD_DIR=/tmp/build'
      './MAKEALL'
      
      Command line 'O=' setting overrides BUILD_DIR environent variable.
      
      When none of the above methods is used the local build is performed and
      the object files are placed in the source directory.
      f9328639
  23. 30 8月, 2003 1 次提交
  24. 21 7月, 2002 1 次提交
  25. 27 4月, 2002 1 次提交
  26. 01 4月, 2002 1 次提交
  27. 13 1月, 2002 1 次提交
  28. 29 4月, 2001 1 次提交
  29. 14 12月, 2000 1 次提交
  30. 10 7月, 2000 1 次提交