aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/cmd_ext2.c5
-rw-r--r--common/cmd_ext4.c5
-rw-r--r--common/cmd_fat.c5
-rw-r--r--common/cmd_fs.c6
-rw-r--r--fs/fs.c8
-rw-r--r--include/fs.h2
6 files changed, 18 insertions, 13 deletions
diff --git a/common/cmd_ext2.c b/common/cmd_ext2.c
index 06d0234a47e..7f225987a0d 100644
--- a/common/cmd_ext2.c
+++ b/common/cmd_ext2.c
@@ -49,7 +49,7 @@ int do_ext2ls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
*/
int do_ext2load (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
- return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_EXT);
+ return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_EXT, 16);
}
U_BOOT_CMD(
@@ -64,5 +64,6 @@ U_BOOT_CMD(
"load binary file from a Ext2 filesystem",
"<interface> <dev[:part]> [addr] [filename] [bytes]\n"
" - load binary file 'filename' from 'dev' on 'interface'\n"
- " to address 'addr' from ext2 filesystem"
+ " to address 'addr' from ext2 filesystem.\n"
+ " All numeric parameters are assumed to be hex."
);
diff --git a/common/cmd_ext4.c b/common/cmd_ext4.c
index b4a154ffeba..b50bd0ae9a0 100644
--- a/common/cmd_ext4.c
+++ b/common/cmd_ext4.c
@@ -59,7 +59,7 @@
int do_ext4_load(cmd_tbl_t *cmdtp, int flag, int argc,
char *const argv[])
{
- return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_EXT);
+ return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_EXT, 16);
}
int do_ext4_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
@@ -136,4 +136,5 @@ U_BOOT_CMD(ext4load, 6, 0, do_ext4_load,
"load binary file from a Ext4 filesystem",
"<interface> <dev[:part]> [addr] [filename] [bytes]\n"
" - load binary file 'filename' from 'dev' on 'interface'\n"
- " to address 'addr' from ext4 filesystem");
+ " to address 'addr' from ext4 filesystem.\n"
+ " All numeric parameters are assumed to be hex.");
diff --git a/common/cmd_fat.c b/common/cmd_fat.c
index c865d6d8a2a..82804838d54 100644
--- a/common/cmd_fat.c
+++ b/common/cmd_fat.c
@@ -35,7 +35,7 @@
int do_fat_fsload (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
- return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_FAT);
+ return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_FAT, 16);
}
@@ -48,7 +48,8 @@ U_BOOT_CMD(
" 'pos' gives the file position to start loading from.\n"
" If 'pos' is omitted, 0 is used. 'pos' requires 'bytes'.\n"
" 'bytes' gives the size to load. If 'bytes' is 0 or omitted,\n"
- " the load stops on end of file."
+ " the load stops on end of file.\n"
+ " All numeric parameters are assumed to be hex."
);
int do_fat_ls (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
diff --git a/common/cmd_fs.c b/common/cmd_fs.c
index 296124b995e..46fcef78eeb 100644
--- a/common/cmd_fs.c
+++ b/common/cmd_fs.c
@@ -22,7 +22,7 @@
int do_fsload_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
- return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_ANY);
+ return do_fsload(cmdtp, flag, argc, argv, FS_TYPE_ANY, 0);
}
U_BOOT_CMD(
@@ -34,7 +34,9 @@ U_BOOT_CMD(
" 'bytes' gives the size to load in bytes.\n"
" If 'bytes' is 0 or omitted, the file is read until the end.\n"
" 'pos' gives the file byte position to start reading from.\n"
- " If 'pos' is 0 or omitted, the file is read from the start."
+ " If 'pos' is 0 or omitted, the file is read from the start.\n"
+ " All numeric parameters are assumed to be decimal,\n"
+ " unless specified otherwise using a leading \"0x\"."
);
int do_ls_wrapper(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
diff --git a/fs/fs.c b/fs/fs.c
index f570312610f..1553af59d37 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -248,7 +248,7 @@ int fs_read(const char *filename, ulong addr, int offset, int len)
}
int do_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
- int fstype)
+ int fstype, int cmdline_base)
{
unsigned long addr;
const char *addr_str;
@@ -267,7 +267,7 @@ int do_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
return 1;
if (argc >= 4) {
- addr = simple_strtoul(argv[3], NULL, 0);
+ addr = simple_strtoul(argv[3], NULL, cmdline_base);
} else {
addr_str = getenv("loadaddr");
if (addr_str != NULL)
@@ -285,11 +285,11 @@ int do_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
}
}
if (argc >= 6)
- bytes = simple_strtoul(argv[5], NULL, 0);
+ bytes = simple_strtoul(argv[5], NULL, cmdline_base);
else
bytes = 0;
if (argc >= 7)
- pos = simple_strtoul(argv[6], NULL, 0);
+ pos = simple_strtoul(argv[6], NULL, cmdline_base);
else
pos = 0;
diff --git a/include/fs.h b/include/fs.h
index f396d8492a5..c3ac7ccc0d9 100644
--- a/include/fs.h
+++ b/include/fs.h
@@ -58,7 +58,7 @@ int fs_read(const char *filename, ulong addr, int offset, int len);
* to a specific filesystem type via the fstype parameter.
*/
int do_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
- int fstype);
+ int fstype, int cmdline_base);
int do_ls(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[],
int fstype);