27 Apr, 2020

2 commits

  • When IMX_OPTEE is enabled for secure boot, update bootm to authenticate the optee
    image and the kernel zImage before booting into optee.

    Signed-off-by: Ye Li
    (cherry picked from commit d3bee08f12f1d41c83c47773aec6cfa28056694a)
    (cherry picked from commit 3825c3fedbbe59fdf8c4f59f10221823a5fc6f03)
    (cherry picked from commit a09dca5eff735ef8ef46313de09cfa0f3b4cf189)
    (cherry picked from commit c83877f5ad9385279c5db3d6ab78ed103d45d1d5)

    Ye Li
     
  • To support the trust boot chain, we integrate the authentication
    into the kernel image loading process. The kernel image will be verified
    at its load address. So when signing the kernel image, we need to
    use this load address which may change on different platforms.

    Signed-off-by: Ye Li
    (cherry picked from commit 3c118b8d6bbe1a25ca8c8bafeb528309f16fc73d)
    (cherry picked from commit fd9a9759ed9b3a9fc26b18aff00880382213b1ca)
    (cherry picked from commit 98d4faefdb83579d4a5a170e06af5efb64ad2b3c)
    (cherry picked from commit 3c0f0eed6cb703cd7d67ec97520b1990b5e35fb2)

    Ye Li
     

18 Jan, 2020

1 commit


05 Dec, 2019

1 commit


12 Aug, 2019

2 commits


12 Jul, 2019

1 commit


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
     

16 Aug, 2017

1 commit

  • We are now using an env_ prefix for environment functions. Rename these
    two functions for consistency. Also add function comments in common.h.

    Quite a few places use getenv() in a condition context, provoking a
    warning from checkpatch. These are fixed up in this patch also.

    Suggested-by: Wolfgang Denk
    Signed-off-by: Simon Glass

    Simon Glass
     

12 Jul, 2017

1 commit


09 Feb, 2017

1 commit

  • Now when CONFIG_CMD_IMLS_NAND is enabled the u-boot build will fail,
    because nand_read_skip_bad() function has been changed to accept more
    parameters, hence fix it.

    CC cmd/bootm.o
    cmd/bootm.c: In function 'nand_imls_legacyimage':
    cmd/bootm.c:390:8: error: too few arguments to function 'nand_read_skip_bad'
    ret = nand_read_skip_bad(mtd, off, &len, imgdata);
    ^
    In file included from cmd/bootm.c:18:0:
    include/nand.h:101:5: note: declared here
    int nand_read_skip_bad(struct mtd_info *mtd, loff_t offset, size_t *length,
    ^
    LD drivers/block/built-in.o

    Signed-off-by: Grygorii Strashko
    Reviewed-by: Tom Rini
    Reviewed-by: Simon Glass

    Grygorii Strashko
     

20 Jan, 2017

1 commit

  • In 35fc84f, bootm was refactored so plain 'bootm' and
    'bootm ' shared a common implementation.
    The 'bootm ramdisk' command implementation is now part of the common
    implementation but not invoke by plain 'bootm' since the original
    implementation never did ramdisk relocation. Instead, ramdisk
    relocation happened in image_setup_linux() which is typically called
    during the OS portion of 'bootm'.

    On ARM, parameters to the Linux kernel can either be passed by FDT or
    ATAGS. When using FDT, image_setup_linux() is called which also triggers
    ramdisk relocation. When using ATAGS, image_setup_linux() is _not_
    called because it mostly does FDT setup.

    Instead of calling image_setup_linux() in both FDT and ATAGS cases,
    include BOOTM_STATE_RAMDISK in the requested states during a plain
    'bootm' if CONFIG_SYS_BOOT_RAMDISK_HIGH is set and remove the ramdisk
    relocation from image_setup_linux(). This causes ramdisk relocation to
    happen on any system where CONFIG_SYS_BOOT_RAMDISK_HIGH regardless of
    the OS being booted. Also remove IMAGE_ENABLE_RAMDISK_HIGH as it was
    only used by the now-removed code from image_setup_linux().

    Signed-off-by: Rick Altherr
    Reviewed-by: Simon Glass
    Reviewed-by: Joel Stanley

    Rick Altherr
     

31 Oct, 2016

1 commit


20 Aug, 2016

1 commit

  • The bootz and booti commands rely on common functionality that is found
    in common/bootm.c and common/bootm_os.c. They do not however rely on
    the rest of cmd/bootm.c to be implemented so split them into their own
    files. Have various Makefiles include the required infrastructure for
    CONFIG_CMD_BOOT[IZ] as well as CONFIG_CMD_BOOTM. Move the declaration
    of 'images' over to common/bootm.c.

    Cc: Masahiro Yamada
    Signed-off-by: Tom Rini

    Tom Rini
     

25 Jun, 2016

1 commit


04 Jun, 2016

2 commits

  • nand_info[] is now an array of pointers, with the actual mtd_info
    instance embedded in struct nand_chip.

    This is in preparation for syncing the NAND code with Linux 4.6,
    which makes the same change to struct nand_chip. It's in a separate
    commit due to the large amount of changes required to accommodate the
    change to nand_info[].

    Signed-off-by: Scott Wood

    Scott Wood
     
  • This typedef serves no purpose other than causing confusion with
    struct nand_chip.

    Signed-off-by: Scott Wood

    Scott Wood
     

26 May, 2016

1 commit

  • The arm64 Linux boot protocol [1] describes the fields in the Image
    header as being 64-bit little endian values.
    So fix the endianess conversion to use 64-bit sized operations, for
    both image_size and text_offset.
    Also we use a local variable for the image_size to avoid both writing
    to the header and also accessing it after we actually unmapped it.

    Signed-off-by: Andre Przywara

    [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt

    Andre Przywara
     

02 Apr, 2016

1 commit

  • Make sure to call unmap_sysmem() for address allocated by map_sysmem()
    before leaving the function; however this patch gives no impact on
    the behavior because map_sysmem()/unmap_sysmem() does nothing except
    on Sandbox. Sandbox never runs this code because "booti" is a command
    for booting ARM64 kernel image.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Joe Hershberger

    Masahiro Yamada
     

25 Feb, 2016

1 commit


25 Jan, 2016

1 commit

  • Now that they are in their own directory, we can remove this prefix.
    This makes it easier to find a file since the prefix does not get in the
    way.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng
    Reviewed-by: Heiko Schocher
    Acked-by: Stefan Roese
    Acked-by: Przemyslaw Marczak

    Simon Glass