1. 19 2月, 2014 3 次提交
    • S
      fs: don't pass NULL dev_desc to most filesystems · 377202b5
      Stephen Warren 提交于
      FAT and ext4 expect that the passed in block device descriptor not be
      NULL. This causes problems on sandbox, where get_device_and_partition()
      succeeds for the "host" device, yet passes back a NULL device descriptor.
      Add special handling for this situation, so that the generic filesystem
      commands operate as expected on sandbox.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      377202b5
    • S
      fs: implement infrastructure for an 'exists' function · 6152916a
      Stephen Warren 提交于
      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: NStephen Warren <swarren@nvidia.com>
      Acked-by: NSimon Glass <sjg@chromium.org>
      6152916a
    • S
      fs: fix generic save command implementation · bd6fb31f
      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 <fs.h> like other generic functions;
         other code should be able to call this directly rather than invoking
         the "save" shell command.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NSimon Glass <sjg@chromium.org>
      bd6fb31f
  2. 08 10月, 2013 1 次提交
    • W
      Fix number base handling of "load" command · b770e88a
      Wolfgang Denk 提交于
      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 045fa1e1 "fs: add filesystem switch libary,
      implement ls and fsload commands" and 3f83c87e "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/171172Acked-by: NTom Rini <trini@ti.com>
      Acked-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      b770e88a
  3. 01 5月, 2013 2 次提交
  4. 05 3月, 2013 6 次提交
  5. 01 3月, 2013 1 次提交
  6. 14 11月, 2012 1 次提交
  7. 05 11月, 2012 3 次提交
    • S
      fs: rename fsload command to load · f9b55e22
      Stephen Warren 提交于
      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: NStephen Warren <swarren@nvidia.com>
      f9b55e22
    • S
      fs: fix number base behaviour change in fatload/ext*load · 3f83c87e
      Stephen Warren 提交于
      Commit 045fa1e1 "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: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
      3f83c87e
    • S
      fs: fix do_fsload() handling of optional arguments · e9b0f99e
      Stephen Warren 提交于
      Most arguments to the shell command do_fsload() implements are optional.
      Fix the minimum argc check to respect that. Cater for the situation
      where argv[2] is not provided.
      
      Enhance both do_fsload() and do_ls() to check the maximum number of
      arguments too. While this check would typically be implemented via
      U_BOOT_CMD()'s max_args parameter, if these functions are called
      directly, then that check won't exist.
      
      Finally, alter do_ls() to check (argc >= 4) rather than (argc == 4) so
      that if the function is enhanced to allow extra arguments in the future,
      this test won't need to be changed at that time.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NBenoît Thébaudeau <benoit.thebaudeau@advansee.com>
      e9b0f99e
  8. 03 11月, 2012 1 次提交
  9. 30 10月, 2012 1 次提交