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
     

23 Oct, 2015

1 commit

  • Convert cache flush to use dm cpu data.

    The original cache flush functions are written in assembly
    and use CONFIG_SYS_{I,D}CACHE_SIZE... macros. It is difficult
    to convert to use cache configuration in dm cpu data which is
    extracted from device tree.

    The cacheflush.c of Linux nios2 arch uses cpuinfo structure,
    which is very close to our dm cpu data. So we copy and modify
    it to arch/nios2/lib/cache.c to replace the old cache.S.

    Signed-off-by: Thomas Chou

    Thomas Chou
     

24 Jul, 2013

1 commit


02 Jul, 2013

1 commit

  • Commit 35fc84fa1ff51e15ecd3e464dac87eb105ffed30 broke bootm on avr32. It
    requires to call do_bootm_linux() with flag set to BOOTM_STATE_OS_PREP before
    calling it again with flag set to BOOTM_STATE_OS_GO.
    Fix this by allowing flag set to BOOTM_STATE_OS_PREP, this however will
    require a complete refactoring later on.

    Signed-off-by: Andreas Bießmann
    [trini: Apply to m68k, microblaze, nds32, nios2, openrisc, sh and sparc]
    Signed-off-by: Tom Rini

    Andreas Bießmann
     

26 Jun, 2013

1 commit

  • At present the arguments to bootm are processed in a somewhat confusing
    way. Sub-functions must know how many arguments their calling functions
    have processed, and the OS boot function must also have this information.
    Also it isn't obvious that 'bootm' and 'bootm start' provide arguments in
    the same way.

    Adjust the code so that arguments are removed from the list before calling
    a sub-function. This means that all functions can know that argv[0] is the
    first argument of which they need to take notice.

    Signed-off-by: Simon Glass

    Simon Glass
     

19 Oct, 2010

1 commit

  • All arches except nios2 and microblaze call boot_get_fdt
    from bootm_start in common/cmd_bootm.c.

    Having nios2 and microblaze do so as well removes code from
    their respective do_bootm_linux routines and allows removal of
    a nasty ifdef from bootm_start.

    In the case where boot_get_fdt returns an error bootm_start
    returns and the platform specific do_bootm_linux routines
    will never get called.

    Also only check argv[3] for an fdt addr if argc > 3 first.
    This is already the case for nios2.

    Signed-off-by: John Rigby
    CC: Scott McNutt
    CC: Michal Simek
    CC: Thomas Chou
    Acked-by: Wolfgang Denk
    Acked-by: Michal Simek
    Tested-by: Thomas Chou

    John Rigby
     

20 Aug, 2010

1 commit


12 Jul, 2010

1 commit


05 Jul, 2010

1 commit

  • The hush shell dynamically allocates (and re-allocates) memory for the
    argument strings in the "char *argv[]" argument vector passed to
    commands. Any code that modifies these pointers will cause serious
    corruption of the malloc data structures and crash U-Boot, so make
    sure the compiler can check that no such modifications are being done
    by changing the code into "char * const argv[]".

    This modification is the result of debugging a strange crash caused
    after adding a new command, which used the following argument
    processing code which has been working perfectly fine in all Unix
    systems since version 6 - but not so in U-Boot:

    int main (int argc, char **argv)
    {
    while (--argc > 0 && **++argv == '-') {
    /* ====> */ while (*++*argv) {
    switch (**argv) {
    case 'd':
    debug++;
    break;
    ...
    default:
    usage ();
    }
    }
    }
    ...
    }

    The line marked "====>" will corrupt the malloc data structures and
    usually cause U-Boot to crash when the next command gets executed by
    the shell. With the modification, the compiler will prevent this with
    an
    error: increment of read-only location '*argv'

    N.B.: The code above can be trivially rewritten like this:

    while (--argc > 0 && **++argv == '-') {
    char *arg = *argv;
    while (*++arg) {
    switch (*arg) {
    ...

    Signed-off-by: Wolfgang Denk
    Acked-by: Mike Frysinger

    Wolfgang Denk
     

13 Apr, 2010

1 commit