Skip to content
Snippets Groups Projects
  1. Nov 17, 2019
  2. Nov 12, 2019
  3. Nov 11, 2019
    • Simon Glass's avatar
      binman: tegra: Adjust symbol calculation depending on end-at-4gb · 7c150136
      Simon Glass authored
      
      A recent change adjusted the symbol calculation to work on x86 but broke
      it for Tegra. In fact this is because they have different needs.
      
      On x86 devices the code is linked to a ROM address and the end-at-4gb
      property is used for the image. In this case there is no need to add the
      base address of the image, since the base address is already built into
      the offset and image-pos properties.
      
      On other devices we must add the base address since the offsets start at
      zero.
      
      In addition the base address is currently added to the 'offset' and 'size'
      values. It should in fact only be added to 'image-pos', since 'offset' is
      relative to its parent and 'size' is not actually an address. This code
      should have been adjusted when support for 'image-pos' and 'size' was
      added, but it was not.
      
      To correct these problems:
      - move the code that handles adding the base address to section.py, which
        can check the end-at-4gb property and which property
        (offset/size/image-pos) is being read
      - add the base address only when needed (only for image-pos and not if the
        image uses end-at-4gb)
      - add a note to the documentation
      - add a separate test to cover x86 behaviour
      
      Fixes: 15c981cc (binman: Correct symbol calculation with non-zero image base)
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      Tested-by: default avatarStephen Warren <swarren@nvidia.com>
      7c150136
  4. Nov 08, 2019
  5. Nov 05, 2019
  6. Nov 02, 2019
  7. Oct 31, 2019
    • Michal Sojka's avatar
      mkimage: Set correct FDT type and ramdisk architecture in FIT auto mode · 12e288a8
      Michal Sojka authored
      
      When running the following command
      
          mkimage -f auto -A arm -O linux -T kernel -C none -a 0x8000 -e 0x8000 \
                  -d zImage -b zynq-microzed.dtb -i initramfs.cpio image.ub
      
      the type of fdt subimage is the same as of the main kernel image and
      the architecture of the initramfs image is not set. Such an image is
      refused by U-Boot when booting. This commits sets the mentioned
      attributes, allowing to use the "-f auto" mode in this case instead of
      writing full .its file.
      
      Following is the diff of mkimage output without and with this commit:
      
       FIT description: Kernel Image image with one or more FDT blobs
       Created:         Thu Sep 12 23:23:16 2019
        Image 0 (kernel-1)
         Description:
         Created:      Thu Sep 12 23:23:16 2019
         Type:         Kernel Image
         Compression:  uncompressed
         Data Size:    4192744 Bytes = 4094.48 KiB = 4.00 MiB
         Architecture: ARM
         OS:           Linux
         Load Address: 0x00008000
         Entry Point:  0x00008000
        Image 1 (fdt-1)
         Description:  zynq-microzed
         Created:      Thu Sep 12 23:23:16 2019
      -  Type:         Kernel Image
      +  Type:         Flat Device Tree
         Compression:  uncompressed
         Data Size:    9398 Bytes = 9.18 KiB = 0.01 MiB
         Architecture: ARM
      -  OS:           Unknown OS
      -  Load Address: unavailable
      -  Entry Point:  unavailable
        Image 2 (ramdisk-1)
         Description:  unavailable
         Created:      Thu Sep 12 23:23:16 2019
         Type:         RAMDisk Image
         Compression:  Unknown Compression
         Data Size:    760672 Bytes = 742.84 KiB = 0.73 MiB
      -  Architecture: Unknown Architecture
      +  Architecture: ARM
         OS:           Linux
         Load Address: unavailable
         Entry Point:  unavailable
        Default Configuration: 'conf-1'
        Configuration 0 (conf-1)
         Description:  zynq-microzed
         Kernel:       kernel-1
         Init Ramdisk: ramdisk-1
         FDT:          fdt-1
         Loadables:    kernel-1
      
      Signed-off-by: default avatarMichal Sojka <michal.sojka@cvut.cz>
      12e288a8
  8. Oct 29, 2019
  9. Oct 28, 2019
    • Bin Meng's avatar
      tools: Avoid creating symbolic links for tools/version.h · 4d90f6cd
      Bin Meng authored
      
      When building U-Boot host tools for Windows from Microsoft Azure
      Pipelines, the following errors were seen:
      
        HOSTCC  tools/mkenvimage.o
        In file included from tools/mkenvimage.c:25:
        ./tools/version.h:1:1: error: expected identifier or ‘(’ before ‘.’ token
           1 | ../include/version.h
             | ^
        tools/mkenvimage.c: In function ‘main’:
        tools/mkenvimage.c:117:4: warning: implicit declaration of function ‘usage’ [-Wimplicit-function-declaration]
         117 |    usage(prg);
             |    ^~~~~
        tools/mkenvimage.c:120:35: error: ‘PLAIN_VERSION’ undeclared (first use in this function)
         120 |    printf("%s version %s\n", prg, PLAIN_VERSION);
             |                                   ^~~~~~~~~~~~~
        tools/mkenvimage.c:120:35: note: each undeclared identifier is reported only once for each function it appears in
        make[2]: *** [scripts/Makefile.host:114: tools/mkenvimage.o] Error 1
      
      It turns out tools/version.h is a symbolic link and with Windows
      default settings it is unsupported hence the actual content of
      tools/version.h is not what file include/version.h has, but the
      the linked file path, which breaks the build.
      
      To fix this, remove the symbolic links for tools/version.h. Instead
      we perform a copy from include/version.h during the build.
      
      Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
      4d90f6cd
    • Bin Meng's avatar
      tools: ifwitool: Define __packed when it is not defined · ccd4398f
      Bin Meng authored
      
      Some compilers may provide __packed define for us.
      
      Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
      ccd4398f
    • Bin Meng's avatar
      tools: zynqmpbif: Use compiler builtin instead of linux-specific __swab32 · afd3bf43
      Bin Meng authored
      
      __swab32() is a Linux specific macro defined in linux/swab.h. Let's
      use the compiler equivalent builtin function __builtin_bswap32() for
      better portability.
      
      Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
      afd3bf43
    • Bin Meng's avatar
      tools: mtk_image.h: Use portable uintXX_t instead of linux-specific __leXX · a7c9a65e
      Bin Meng authored
      
      __leXX has Linux kernel specific __attribute__((bitwise)) which is
      not portable. Use corresponding uintXX_t instead.
      
      Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
      a7c9a65e
  10. Oct 27, 2019
  11. Oct 24, 2019
  12. Oct 15, 2019
    • Douglas Anderson's avatar
      patman: Use the Change-Id, version, and prefix in the Message-Id · 833e4192
      Douglas Anderson authored
      As per the centithread on ksummit-discuss [1], there are folks who
      feel that if a Change-Id is present in a developer's local commit that
      said Change-Id could be interesting to include in upstream posts.
      Specifically if two commits are posted with the same Change-Id there's
      a reasonable chance that they are either the same commit or a newer
      version of the same commit.  Specifically this is because that's how
      gerrit has trained people to work.
      
      There is much angst about Change-Id in upstream Linux, but one thing
      that seems safe and non-controversial is to include the Change-Id as
      part of the string of crud that makes up a Message-Id.
      
      Let's give that a try.
      
      In theory (if there is enough adoption) this could help a tool more
      reliably find various versions of a commit.  This actually might work
      pretty well for U-Boot where (I believe) quite a number of developers
      use patman, so there could be critical mass (assuming that enough of
      these people also use a git hook that adds Change-Id to their
      commits).  I was able to find this git hook by searching for "gerrit
      change id git hook" in my favorite search engine.
      
      In theory one could imagine something like this could be integrated
      into other tools, possibly even git-send-email.  Getting it into
      patman seems like a sane first step, though.
      
      NOTE: this patch is being posted using a patman containing this patch,
      so you should be able to see the Message-Id of this patch and see that
      it contains my local Change-Id, which ends in 2b9 if you want to
      check.
      
      [1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2019-August/006739.html
      
      
      
      Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
      833e4192
    • Simon Glass's avatar
      binman: Drop comment-out code in testUpdateFdtOutput() · d1d5ffd5
      Simon Glass authored
      
      This code is not needed so drop it.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      d1d5ffd5
    • Simon Glass's avatar
      binman: Add logging for the number of pack passes · aed6c0b0
      Simon Glass authored
      
      Sometimes binman takes multiple passes to complete packing an image. Add
      logging to indicate this.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      aed6c0b0
    • Simon Glass's avatar
      binman: Write symbol info before image inclusion · 261cbe0b
      Simon Glass authored
      
      At present the symbol information is written to binaries just before
      binman exits. This is fine for entries within sections since the section
      contents is calculated when it is needed, so the updated symbol values are
      included in the image that is written.
      
      However some binaries are inside entries which have already generated
      their contents and do not notice that the entries have changed (e.g. Intel
      IFWI).
      
      Move the symbol writing earlier to cope with this.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      261cbe0b
    • Simon Glass's avatar
      binman: Support writing symbols into entries within an IFWI · ed9571d2
      Simon Glass authored
      
      The Intel IFWI (Integrated Firmware Image) is effectively a section with
      other entries inside it. Support writing symbol information into entries
      within it.
      
      Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
      ed9571d2
Loading