11 May, 2018

3 commits

  • The officially described way to generate boot.bin files for ZynqMP is to
    describe the contents of the target binary using a file of the "bif"
    format. This file then links to other files that all get packed into a
    bootable image.

    This patch adds support to read such a .bif file and generate a respective
    ZynqMP boot.bin file that can include the normal image and pmu files, but
    also supports image partitions now. This makes it a handy replacement for
    the proprietary "bootgen" utility that is currently used to generate
    boot.bin files with FSBL.

    Signed-off-by: Alexander Graf
    Signed-off-by: Michal Simek

    Alexander Graf
     
  • We will add support for ZynqMP bif input files later, so let's move
    all structure definitions into a header file that can be used by that
    one as well.

    Signed-off-by: Alexander Graf
    Signed-off-by: Michal Simek

    Alexander Graf
     
  • The zynqmp image format has support for inline partitions which are
    used by FSBL to describe payloads that are loaded by FSBL itself.

    While we can't create images that contain partitions (yet), we should
    still at least be able to examine them and show the user what's inside
    when we analyze an image created by bootgen.

    Signed-off-by: Alexander Graf
    Signed-off-by: Michal Simek

    Alexander Graf
     

07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

23 Mar, 2018

1 commit

  • There is an issue to recognize zynq or zynqmp image because header
    checking is just the same. That's why zynqmp images are recognized as
    zynq one.
    Check unused fields which are initialized to zero in zynq format
    (__reserved1 0x38 and __reserved2 0x44) which are initialized for
    zynqmp. This should ensure that images are properly recognized by:
    ./tools/mkimage -l spl/boot.bin

    Also show image type as ZynqMP instead of Zynq which is confusing.

    Reported-by: Alexander Graf
    Signed-off-by: Michal Simek
    Tested-by: Alexander Graf

    Michal Simek
     

18 Dec, 2017

1 commit


29 Nov, 2017

1 commit


28 Nov, 2017

1 commit

  • The patch is adding external pmufw "Platform Management Unit firmware"
    to boot.bin image. Boot.bin is a Xilinx format which bootrom is capable
    to read and boot the system. pmufw is copied to the header data section
    follows by u-boot-spl.bin. pmufw is consumed by PMU unit (Microblaze)
    and SPL runs on a53-0.

    This is generated command line when PMUFW_INIT_FILE is setup.

    ./tools/mkimage -T zynqmpimage -R ./"" -n
    ./"board/xilinx/zynqmp/pmufw.bin" -d spl/u-boot-spl.bin spl/boot.bin

    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass

    Michal Simek
     

28 Dec, 2016

1 commit

  • This patch is fixing missing fclose() calls
    in error patch introduced by:
    "tools: mkimage: Use fstat instead of stat to avoid malicious hacks"
    (sha1: ebe0f53f48e8f9ecc823e533a85b05c13638c350)

    Reported-by: Coverity (CID: 155064, 155065)
    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass

    Michal Simek
     

09 Dec, 2016

2 commits

  • The patch is fixing:
    "tools: mkimage: Check if file is regular file"
    (sha1: 56c7e8015509312240b1ee15f2ff74510939a45d)
    which contains two issues reported by Coverity
    Unchecked return value from stat and incorrect calling sequence where
    attack can happen between calling stat and fopen.
    Using pair in opposite order (fopen and fstat) is fixing this issue
    because fstat is using the same file descriptor (FILE *).

    Also fixing issue with:
    "tools: mkimage: Add support for initialization table for Zynq and
    ZynqMP" (sha1: 3b6460809c2a28360029c1c48247648fac4455c9)
    where file wasn't checked that it is regular file.

    Reported-by: Coverity (CID: 154711, 154712)
    Signed-off-by: Michal Simek
    Reviewed-by: Tom Rini

    Michal Simek
     
  • This reverts commit 3edc0c252257e4afed163a3a74aba24a5509b198, reversing
    changes made to bb135a0180c31fbd7456021fb9700b49bba7f533.

    Tom Rini
     

08 Dec, 2016

1 commit

  • The patch is fixing:
    "tools: mkimage: Check if file is regular file"
    (sha1: 56c7e8015509312240b1ee15f2ff74510939a45d)
    which contains two issues reported by Coverity
    Unchecked return value from stat and incorrect calling sequence where
    attack can happen between calling stat and fopen.
    Using pair in opposite order (fopen and fstat) is fixing this issue
    because fstat is using the same file descriptor (FILE *).

    Also fixing issue with:
    "tools: mkimage: Add support for initialization table for Zynq and
    ZynqMP" (sha1: 3b6460809c2a28360029c1c48247648fac4455c9)
    where file wasn't checked that it is regular file.

    Reported-by: Coverity (CID: 154711, 154712)
    Signed-off-by: Michal Simek
    Reviewed-by: Tom Rini
    Series-to: trini
    Series-cc: u-boot

    Michal Simek
     

15 Nov, 2016

2 commits

  • Current Makefile.spl passes -R parameter which is not empty
    and pointing to ./ folder.
    "./tools/mkimage -T zynqmpimage -R ./"" -d spl/u-boot-spl.bin
    spl/boot.bin"
    That's why mkimage is trying to parse ./ file and generate
    register init which is wrong.
    Check that passed filename is regular file. If not do not work with it.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • The Zynq/ZynqMP boot.bin file contains a region for register initialization
    data. Filling in proper values in this table can reduce boot time
    (e.g. about 50ms faster on QSPI boot) and also reduce the size of
    the SPL binary.

    The table is a simple text file with register+data on each line. Other
    lines are simply skipped. The file can be passed to mkimage using the
    "-R" parameter.

    It is recommended to add reg init file to board folder.
    For example:
    CONFIG_BOOT_INIT_FILE="board/xilinx/zynqmp/xilinx_zynqmp_zcu102/reg.int

    Signed-off-by: Mike Looijmans
    Signed-off-by: Michal Simek

    Mike Looijmans
     

24 May, 2016

1 commit