1. 15 6月, 2019 1 次提交
  2. 26 11月, 2018 1 次提交
  3. 23 1月, 2018 1 次提交
    • H
      tools: provide a tool to convert a binary file to an include · ac020196
      Heinrich Schuchardt 提交于
      For testing EFI disk management we need an in-memory image of
      a disk.
      
      The tool file2include converts a file to a C include. The file
      is separated into strings of 8 bytes. Only the non-zero strings
      are written to the include. The output format has been designed
      to maintain readability.
      
       #define EFI_ST_DISK_IMG { 0x00010000, { \
        {0x000001b8, "\x94\x37\x69\xfc\x00\x00\x00\x00"}, /* .7i..... */ \
        {0x000001c0, "\x02\x00\x83\x02\x02\x00\x01\x00"}, /* ........ */ \
        {0x000001c8, "\x00\x00\x7f\x00\x00\x00\x00\x00"}, /* ........ */ \
        {0x000001f8, "\x00\x00\x00\x00\x00\x00\x55\xaa"}, /* ......U. */ \
       ...
        {0x00006000, "\x48\x65\x6c\x6c\x6f\x20\x77\x6f"}, /* Hello wo */ \
        {0x00006008, "\x72\x6c\x64\x21\x0a\x00\x00\x00"}, /* rld!.... */ \
        {0, NULL} } }
      
      As the disk image needed for testing contains mostly zeroes a high
      compression ratio can be attained.
      Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de>
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      ac020196
  4. 17 11月, 2017 1 次提交
    • M
      pylibfdt: move pylibfdt to scripts/dtc/pylibfdt and refactor makefile · 15b97f5c
      Masahiro Yamada 提交于
      The pylibfdt is used by dtoc (and, indirectly by binman), but there
      is no reason why it must be generated in the tools/ directory.
      
      Recently, U-Boot switched over to the bundled DTC, and the directory
      structure under scripts/dtc/ now mirrors the upstream DTC project.
      So, scripts/dtc/pylibfdt is the best location.
      
      I also rewrote the Makefile in a cleaner Kbuild style.
      
      The scripts from the upstream have been moved as follows:
      
        lib/libfdt/pylibfdt/setup.py -> scripts/dtc/pylibfdt/setup.py
        lib/libfdt/pylibfdt/libfdt.i -> scripts/dtc/pylibfdt/libfdt.i_shipped
      
      The .i_shipped is coped to .i during building because the .i must be
      located in the objtree when we build it out of tree.
      Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      15b97f5c
  5. 07 9月, 2017 2 次提交
  6. 26 7月, 2017 1 次提交
    • P
      MIPS: Stop building position independent code · 703ec9dd
      Paul Burton 提交于
      U-Boot has up until now built with -fpic for the MIPS architecture,
      producing position independent code which uses indirection through a
      global offset table, making relocation fairly straightforward as it
      simply involves patching up GOT entries.
      
      Using -fpic does however have some downsides. The biggest of these is
      that generated code is bloated in various ways. For example, function
      calls are indirected through the GOT & the t9 register:
      
        8f998064   lw     t9,-32668(gp)
        0320f809   jalr   t9
      
      Without -fpic the call is simply:
      
        0f803f01   jal    be00fc04 <puts>
      
      This is more compact & faster (due to the lack of the load & the
      dependency the jump has on its result). It is also easier to read &
      debug because the disassembly shows what function is being called,
      rather than just an offset from gp which would then have to be looked up
      in the ELF to discover the target function.
      
      Another disadvantage of -fpic is that each function begins with a
      sequence to calculate the value of the gp register, for example:
      
        3c1c0004   lui    gp,0x4
        279c3384   addiu  gp,gp,13188
        0399e021   addu   gp,gp,t9
      
      Without using -fpic this sequence no longer appears at the start of each
      function, reducing code size considerably.
      
      This patch switches U-Boot from building with -fpic to building with
      -fno-pic, in order to gain the benefits described above. The cost of
      this is an extra step during the build process to extract relocation
      data from the ELF & write it into a new .rel section in a compact
      format, plus the added complexity of dealing with multiple types of
      relocation rather than the single type that applied to the GOT. The
      benefit is smaller, cleaner, more debuggable code. The relocate_code()
      function is reimplemented in C to handle the new relocation scheme,
      which also makes it easier to read & debug.
      
      Taking maltael_defconfig as an example the size of u-boot.bin built
      using the Codescape MIPS 2016.05-06 toolchain (gcc 4.9.2, binutils
      2.24.90) shrinks from 254KiB to 224KiB.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
      Cc: u-boot@lists.denx.de
      Reviewed-by: NDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
      Tested-by: NDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
      703ec9dd
  7. 07 4月, 2017 1 次提交
  8. 08 2月, 2017 1 次提交
  9. 28 5月, 2016 1 次提交
  10. 05 8月, 2015 1 次提交
  11. 28 7月, 2015 1 次提交
  12. 25 11月, 2014 1 次提交
  13. 28 10月, 2014 1 次提交
  14. 12 6月, 2014 2 次提交
  15. 25 5月, 2014 1 次提交
  16. 22 3月, 2014 2 次提交
  17. 20 2月, 2014 3 次提交
  18. 20 1月, 2014 1 次提交
  19. 16 12月, 2013 1 次提交
  20. 13 12月, 2013 1 次提交
    • G
      Add dumpimage, a tool to extract data from U-Boot images · a804b5ce
      Guilherme Maciel Ferreira 提交于
      Given a multi-file image created through the mkimage's -d option:
      
        $ mkimage -A x86 -O linux -T multi -n x86 -d vmlinuz:initrd.img:System.map \
        multi.img
      
        Image Name:   x86
        Created:      Thu Jul 25 10:29:13 2013
        Image Type:   Intel x86 Linux Multi-File Image (gzip compressed)
        Data Size:    13722956 Bytes = 13401.32 kB = 13.09 MB
        Load Address: 00000000
        Entry Point:  00000000
        Contents:
           Image 0: 4040128 Bytes = 3945.44 kB = 3.85 MB
           Image 1: 7991719 Bytes = 7804.41 kB = 7.62 MB
           Image 2: 1691092 Bytes = 1651.46 kB = 1.61 MB
      
      It is possible to perform the innverse operation -- extracting any file from
      the image -- by using the dumpimage's -i option:
      
        $ dumpimage -i multi.img -p 2 System.map
      
      Although it's feasible to retrieve "data files" from image through scripting,
      the requirement to embed tools such 'dd', 'awk' and 'sed' for this sole purpose
      is cumbersome and unreliable -- once you must keep track of file sizes inside
      the image. Furthermore, extracting data files using "dumpimage" tool is faster
      than through scripting.
      Signed-off-by: NGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      a804b5ce
  21. 26 6月, 2013 1 次提交
  22. 16 10月, 2012 1 次提交
    • M
      kerneldoc: Implant DocBook from Linux kernel · 30ff8918
      Marek Vasut 提交于
      Pull slightly modified version of Documentation/DocBook, the related perl
      script scripts/kernel-doc and the scripts/docproc.c from Linux kernel and
      implant it into U-Boot. This will allow smooth generation of kerneldoc
      style documentation.
      
      It was necessary to modify the DocBook/Makefile to work with U-Boot build
      system. The changes were only minor though and involved replacing the kbuild
      specific parts.
      
      It was also necessary to replace use of variables like KERNEL_VERSION with
      U_BOOT_VERSION, strings like Linux kernel with U-Boot Bootloader etc. so
      the generated result actually matches.
      
      Finally, it was necessary to adjust docproc.c, since the documentation in
      U-Boot is located in doc/DocBook instead of Documentation/DocBook as is in
      case of the Linux kernel.
      
      Some parts of the DocBook Makefile are unused, but to allow easier sync with
      Linux kernel, these parts are still left in. The targets enabled now are
      "htmldocs" "pdfdocs" "psdocs" "xmldocs" and "cleandocs" to remove the results
      of documentation build.
      
      Linux scripts/docproc.c:
      commit f0f3ca8d967462dafb815412b14ca3339b9817a6
      Date:   Wed Jun 15 11:53:13 2011 +0200
      
      Linux scripts/kernel-doc:
      commit 1b40c1944db445c1de1c47ffd8cd426167f488e8
      Date:   Sun Aug 12 10:46:15 2012 +0200
      
      Linux Documentation/DocBook:
      commit bb8187d35f820671d6dd76700d77a6b55f95e2c5
      Date:   Thu May 17 19:06:13 2012 -0400
      Signed-off-by: NMarek Vasut <marex@denx.de>
      30ff8918
  23. 11 8月, 2012 1 次提交
  24. 28 7月, 2012 1 次提交
  25. 27 11月, 2011 1 次提交
  26. 11 11月, 2011 1 次提交
  27. 20 9月, 2010 1 次提交
  28. 25 11月, 2009 1 次提交
  29. 04 4月, 2009 5 次提交
  30. 11 9月, 2008 1 次提交
  31. 16 7月, 2008 1 次提交