19 Feb, 2014

2 commits

  • This could be used in scripts such as:

    if test -e mmc 0:1 /boot/boot.scr; then
    load mmc 0:1 ${scriptaddr} /boot/boot.scr
    source ${scriptaddr}
    fi

    rather than:

    if load mmc 0:1 ${scriptaddr} /boot/boot.scr; then
    source ${scriptaddr}
    fi

    This prevents errors being printed by attempts to load non-existent
    files, which can be important when checking for a large set of files,
    such as /boot/boot.scr.uimg, /boot/boot.scr, /boot/extlinux.conf,
    /boot.scr.uimg, /boot.scr, /extlinux.conf.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     
  • Fix a few issues with the generic "save" shell command, and fs_write()
    function.

    1) fstypes[].write wasn't filled in for some file-systems, and isn't
    checked when used, which could cause crashes/... if executing save
    on e.g. fat/ext filesystems.

    2) fs_write() requires the length argument to be non-zero, since it needs
    to know exactly how many bytes to write. Adjust the comments and code
    according to this.

    3) fs_write() wasn't prototyped in like other generic functions;
    other code should be able to call this directly rather than invoking
    the "save" shell command.

    Signed-off-by: Stephen Warren
    Acked-by: Simon Glass

    Stephen Warren
     

08 Oct, 2013

1 commit

  • As documented, almost all U-Boot commands expect numbers to be entered
    in hexadecimal input format. (Exception: for historical reasons, the
    "sleep" command takes its argument in decimal input format.)

    This rule was broken for the "load" command; for details please see
    especially commits 045fa1e "fs: add filesystem switch libary,
    implement ls and fsload commands" and 3f83c87 "fs: fix number base
    behaviour change in fatload/ext*load". In the result, the load
    command would always require an explicit "0x" prefix for regular
    (i. e. base 16 formatted) input.

    Change this to use the standard notation of base 16 input format.
    While strictly speaking this is a change of the user interface, we
    hope that it will not cause trouble. Stephen Warren comments (see
    [1]):

    I suppose you can change the behaviour if you want; anyone
    writing "0x..." for their values presumably won't be
    affected, and if people really do assume all values in U-Boot
    are in hex, presumably nobody currently relies upon using
    non-prefixed values with the generic load command, since it
    doesn't work like that right now.

    [1] http://article.gmane.org/gmane.comp.boot-loaders.u-boot/171172

    Acked-by: Tom Rini
    Acked-by: Stephen Warren
    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

01 May, 2013

1 commit


05 Mar, 2013

1 commit


05 Nov, 2012

2 commits

  • When the generic filesystem load command "fsload" was written, I felt
    that "load" was too generic of a name for it, since many other similar
    commands already existed. However, it turns out that there is already
    an "fsload" command, so that name cannot be used. Rename the new
    "fsload" to plain "load" to avoid the conflict. At least anyone who's
    used a Basic interpreter should feel familiar with the name!

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • Commit 045fa1e "fs: add filesystem switch libary, implement ls and
    fsload commands" unified the implementation of fatload and ext*load
    with the new command fsload. However, this altered the interpretation
    of command-line numbers from always being base-16, to requiring a "0x"
    prefix for base-16 numbers. Enhance do_fsload() to allow commands to
    specify which base to use.

    Use base 0, thus requiring a "0x" prefix for the new fsload command.
    This feels much cleaner than assuming base 16.

    Use base 16 for the pre-existing fatload and ext*load to prevent a
    change in behaviour.

    Use base 16 exclusively for the loadaddr environment variable, since
    that variable is interpreted in multiple places, so we don't want the
    behaviour to change.

    Update command help text to make it clear where numbers are assumed to
    be hex, and where an explicit "0x" prefix is required.

    Signed-off-by: Stephen Warren
    Reviewed-by: Benoît Thébaudeau

    Stephen Warren
     

30 Oct, 2012

1 commit

  • Implement "ls" and "fsload" commands that act like {fat,ext2}{ls,load},
    and transparently handle either file-system. This scheme could easily be
    extended to other filesystem types; I only didn't do it for zfs because
    I don't have any filesystems of that type to test with.

    Replace the implementation of {fat,ext[24]}{ls,load} with this new code
    too.

    Signed-off-by: Stephen Warren

    Stephen Warren