03 Dec, 2019

1 commit


08 Nov, 2019

1 commit

  • API_dev_write(va_list ap) is currently lacking the write support
    to storage devices because, historically, those devices did not
    implement block_write()

    The solution has been tested by loading and booting a (patched)
    GRUB instance in a QEMU vexpress-a9 environment. The disk write
    operations were triggered with GRUB's save_env command.

    Signed-off-by: Cristian Ciocaltea

    Cristian Ciocaltea
     

12 Aug, 2019

4 commits

  • This file contains lots of internal details about the environment. Most
    code can include env.h instead, calling the functions there as needed.

    Rename this file and add a comment at the top to indicate its internal
    nature.

    Signed-off-by: Simon Glass
    Acked-by: Joe Hershberger
    Reviewed-by: Simon Goldschmidt
    [trini: Fixup apalis-tk1.c]
    Signed-off-by: Tom Rini

    Simon Glass
     
  • Avoid using a typedef here which is unnecessary. Add an 'env_' prefix to
    both the enum and its members to make it clear that these are related to
    the environment.

    Add an ENV prefix to these two flags so that it is clear what they relate
    to. Also move them to env.h since they are part of the public API. Use an
    enum rather than a #define to tie them together.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • U-Boot is not supposed to use typedef for structs anymore. Also this name
    is the same as the ENTRY() macro used in assembler files, and 'entry'
    itself is widely used in U-Boot (>8k matches).

    Drop the typedef and rename the struct to env_entry to reduce confusion.

    Signed-off-by: Simon Glass
    Acked-by: Joe Hershberger

    Simon Glass
     
  • Move env_set_hex() over to the new header file along with env_set_addr()
    which uses it.

    Signed-off-by: Simon Glass
    Acked-by: Joe Hershberger

    Simon Glass
     

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

3 commits

  • 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
     
  • We are now using an env_ prefix for environment functions. Rename these
    commonly used functions, for consistency. Also add function comments in
    common.h.

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

    Simon Glass
     
  • We are now using an env_ prefix for environment functions. Rename setenv()
    for consistency. Also add function comments in common.h.

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

    Simon Glass
     

14 Aug, 2017

1 commit


20 Jan, 2017

1 commit


21 May, 2016

1 commit


15 Mar, 2016

1 commit


09 Mar, 2016

1 commit


24 Jul, 2013

1 commit


16 Nov, 2011

1 commit


29 Nov, 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
     

16 May, 2009

1 commit


11 Sep, 2008

1 commit


14 May, 2008

1 commit


12 May, 2008

2 commits


18 Apr, 2008

1 commit


10 Jan, 2008

2 commits