02 Nov, 2019

1 commit

  • With the __packed attribute sandbox_defconfig cannot be compiled with GCC
    9.2.1:

    fs/cbfs/cbfs.c: In function ‘file_cbfs_fill_cache’:
    fs/cbfs/cbfs.c:164:16: error: taking address of packed member of
    ‘struct cbfs_cachenode’ may result in an unaligned pointer value
    [-Werror=address-of-packed-member]
    164 | cache_tail = &new_node->next;
    | ^~~~~~~~~~~~~~~

    struct cbfs_cachenode is only an internal structure. So let's rearrange the
    fields such that the structure is naturally packed and remove the __packed
    attribute.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Bin Meng
    Reviewed-by: Simon Glass

    Heinrich Schuchardt
     

18 Aug, 2019

2 commits

  • Sometimes an image has multiple CBFS. The current CBFS API is limited to
    handling only one at time. Also it keeps track of the CBFS internally in
    BSS, which does not work before relocation, for example.

    Add a few new functions to overcome these limitations.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     
  • Move the result variable into the struct also, so that it can be used when
    BSS is not available. Add a function to read it.

    Note that all functions sill use the BSS version of the data.

    Signed-off-by: Simon Glass
    Reviewed-by: Bin Meng
    Tested-by: Bin Meng

    Simon Glass
     

24 Jul, 2019

2 commits


31 Dec, 2018

2 commits


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
     

24 Jul, 2013

1 commit


07 Dec, 2012

2 commits


22 Oct, 2012

1 commit

  • This change adds CBFS support and some commands to use it to u-boot. These
    commands are:

    cbfsinit - Initialize CBFS support and pull all metadata into RAM. The end of
    the ROM is an optional parameter which defaults to the standard 0xffffffff and
    can be used to support multiple CBFSes in a system. The last one set up with
    cbfsinit is the one that will be used.

    cbfsinfo - Print information from the CBFS header.

    cbfsls - Print out the size, type, and name of all the files in the current
    CBFS. Recognized types are translated into symbolic names.

    cbfsload - Load a file from CBFS into memory. Like the similar command for fat
    filesystems, you can optionally provide a maximum size.

    Support for CBFS is compiled in when the CONFIG_CMD_CBFS option is specified.

    The CBFS driver can also be used programmatically from within u-boot.

    If u-boot needs something out of CBFS very early before the heap is
    configured, it won't be able to use the normal CBFS support which caches some
    information in memory it allocates from the heap. The
    cbfs_file_find_uncached function searches a CBFS instance without touching
    the heap.

    Signed-off-by: Gabe Black
    Signed-off-by: Stefan Reinauer
    Signed-off-by: Simon Glass

    Gabe Black