summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/Kconfig8
-rw-r--r--common/cmd_boot.c22
-rw-r--r--common/cmd_edit.c11
-rw-r--r--common/cmd_exec.c14
-rw-r--r--common/cmd_flash.c43
-rw-r--r--common/cmd_fs.c107
-rw-r--r--common/cmd_mem.c55
-rw-r--r--common/cmd_misc.c53
-rw-r--r--common/cmd_net.c67
-rw-r--r--common/command.c123
-rw-r--r--common/dlmalloc.c4
-rw-r--r--common/env.c23
-rw-r--r--common/mtdpart.c22
-rw-r--r--common/startup.c19
14 files changed, 303 insertions, 268 deletions
diff --git a/common/Kconfig b/common/Kconfig
index f7ded5cb33..6845d9c2a6 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -98,6 +98,10 @@ config CMD_ENVIRONMENT
depends on FS
prompt "envsave / envload"
+config CMD_CLEAR
+ bool
+ prompt "clear"
+
config CMD_CONSOLE
bool
prompt "coninfo"
@@ -159,9 +163,9 @@ config CMD_LOADS
bool
prompt "loads"
-config CMD_MALLOCINFO
+config CMD_MEMINFO
bool
- prompt "mallocinfo"
+ prompt "meminfo"
config CMD_SAVES
bool
diff --git a/common/cmd_boot.c b/common/cmd_boot.c
index 3b77784bdc..43fc18259b 100644
--- a/common/cmd_boot.c
+++ b/common/cmd_boot.c
@@ -73,17 +73,19 @@ int do_go (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
/* -------------------------------------------------------------------- */
-U_BOOT_CMD(
- go, CONFIG_MAXARGS, 1, do_go,
- "go - start application at address 'addr'\n",
+U_BOOT_CMD_START(go)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_go,
+ .usage = "go - start application at address 'addr'\n",
+ U_BOOT_CMD_HELP(
"addr [arg ...]\n - start application at address 'addr'\n"
- " passing 'arg' as arguments\n"
-);
+ " passing 'arg' as arguments\n")
+U_BOOT_CMD_END
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-U_BOOT_CMD(
- reset, CONFIG_MAXARGS, 1, do_reset,
- "reset - Perform RESET of the CPU\n",
- NULL
-);
+U_BOOT_CMD_START(reset)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_reset,
+ .usage = "reset - Perform RESET of the CPU\n",
+U_BOOT_CMD_END
diff --git a/common/cmd_edit.c b/common/cmd_edit.c
index 61d7ce3b55..edc8fd09ba 100644
--- a/common/cmd_edit.c
+++ b/common/cmd_edit.c
@@ -469,9 +469,8 @@ out:
return 0;
}
-int do_edit (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-U_BOOT_CMD(
- edit, 2, 0, do_edit,
- "edit - edit a file\n",
- "<filename> - edit <filename>\n"
-);
+U_BOOT_CMD_START(edit)
+ .maxargs = 2,
+ .cmd = do_edit,
+ .usage = "edit <file> - edit a file\n",
+U_BOOT_CMD_END
diff --git a/common/cmd_exec.c b/common/cmd_exec.c
index bbe5c5641c..78cbfd7035 100644
--- a/common/cmd_exec.c
+++ b/common/cmd_exec.c
@@ -44,7 +44,7 @@ out:
return NULL;
}
-int do_exec(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+static int do_exec(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
{
int i;
char *script;
@@ -70,10 +70,8 @@ out:
return 1;
}
-int do_exec (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-U_BOOT_CMD(
- exec, CONFIG_MAXARGS, 1, do_exec,
- "exec - execute a script\n",
- "<filename> - execute <filename>\n"
-);
-
+U_BOOT_CMD_START(exec)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_exec,
+ .usage = "exec <files> - execute a script\n",
+U_BOOT_CMD_END
diff --git a/common/cmd_flash.c b/common/cmd_flash.c
index 56ccb6f7e1..f13901596d 100644
--- a/common/cmd_flash.c
+++ b/common/cmd_flash.c
@@ -60,6 +60,13 @@ int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
+U_BOOT_CMD_START(erase)
+ .maxargs = 2,
+ .cmd = do_flerase,
+ .usage = "erase - erase FLASH memory\n",
+ U_BOOT_CMD_HELP("write me\n")
+U_BOOT_CMD_END
+
int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
int p;
@@ -89,33 +96,9 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return rcode;
}
-/**************************************************/
-
-U_BOOT_CMD(
- erase, 2, 0, do_flerase,
- "erase - erase FLASH memory\n",
- "write me\n"
-);
-
-U_BOOT_CMD(
- protect, 4, 1, do_protect,
- "protect - enable or disable FLASH write protection\n",
- "on start end\n"
- " - protect FLASH from addr 'start' to addr 'end'\n"
- "protect on start +len\n"
- " - protect FLASH from addr 'start' to end of sect "
- "w/addr 'start'+'len'-1\n"
- "protect on N:SF[-SL]\n"
- " - protect sectors SF-SL in FLASH bank # N\n"
- "protect on bank N\n - protect FLASH bank # N\n"
- "protect on all\n - protect all FLASH banks\n"
- "protect off start end\n"
- " - make FLASH from addr 'start' to addr 'end' writable\n"
- "protect off start +len\n"
- " - make FLASH from addr 'start' to end of sect "
- "w/addr 'start'+'len'-1 wrtable\n"
- "protect off N:SF[-SL]\n"
- " - make sectors SF-SL writable in FLASH bank # N\n"
- "protect off bank N\n - make FLASH bank # N writable\n"
- "protect off all\n - make all FLASH banks writable\n"
-);
+U_BOOT_CMD_START(protect)
+ .maxargs = 4,
+ .cmd = do_protect,
+ .usage = "protect - enable or disable FLASH write protection\n",
+ U_BOOT_CMD_HELP("write me\n")
+U_BOOT_CMD_END
diff --git a/common/cmd_fs.c b/common/cmd_fs.c
index 63682f929f..6a0b4f7d44 100644
--- a/common/cmd_fs.c
+++ b/common/cmd_fs.c
@@ -22,7 +22,7 @@ static void ls_one(const char *path, struct stat *s)
int ls(const char *path, ulong flags)
{
- struct dir *dir;
+ DIR *dir;
struct dirent *d;
char tmp[PATH_MAX];
struct stat s;
@@ -45,10 +45,10 @@ int ls(const char *path, ulong flags)
return errno;
while ((d = readdir(dir))) {
- sprintf(tmp, "%s/%s", path, d->name);
+ sprintf(tmp, "%s/%s", path, d->d_name);
if (stat(tmp, &s))
goto out;
- ls_one(d->name, &s);
+ ls_one(d->d_name, &s);
}
closedir(dir);
@@ -63,13 +63,13 @@ int ls(const char *path, ulong flags)
}
while ((d = readdir(dir))) {
- sprintf(tmp, "%s/%s", path, d->name);
+ sprintf(tmp, "%s/%s", path, d->d_name);
normalise_path(tmp);
if (stat(tmp, &s))
goto out;
- if (!strcmp(d->name, "."))
+ if (!strcmp(d->d_name, "."))
continue;
- if (!strcmp(d->name, ".."))
+ if (!strcmp(d->d_name, ".."))
continue;
if (s.st_mode & S_IFDIR)
ls(tmp, flags);
@@ -115,11 +115,11 @@ static int do_ls (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- ls, CONFIG_MAXARGS, 0, do_ls,
- "ls - list a file or directory\n",
- "<path> list files on path"
-);
+U_BOOT_CMD_START(ls)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_ls,
+ .usage = "ls - list a file or directory\n",
+U_BOOT_CMD_END
static int do_cd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -138,11 +138,11 @@ static int do_cd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- cd, 2, 0, do_cd,
- "cd - change current directory\n",
- "<path> cd to path"
-);
+U_BOOT_CMD_START(cd)
+ .maxargs = 2,
+ .cmd = do_cd,
+ .usage = "cd - change current directory\n",
+U_BOOT_CMD_END
static int do_pwd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -150,11 +150,11 @@ static int do_pwd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- pwd, 1, 0, do_pwd,
- "pwd - display current directory\n",
- NULL;
-);
+U_BOOT_CMD_START(pwd)
+ .maxargs = 2,
+ .cmd = do_pwd,
+ .usage = "pwd - display current directory\n",
+U_BOOT_CMD_END
static int do_mkdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -169,11 +169,11 @@ static int do_mkdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- mkdir, 2, 0, do_mkdir,
- "mkdir - create a new directory\n",
- ""
-);
+U_BOOT_CMD_START(mkdir)
+ .maxargs = 2,
+ .cmd = do_mkdir,
+ .usage = "mkdir - create a new directory\n",
+U_BOOT_CMD_END
static int do_rm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -188,11 +188,11 @@ static int do_rm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- rm, 2, 0, do_rm,
- "rm - remove files\n",
- ""
-);
+U_BOOT_CMD_START(rm)
+ .maxargs = 2,
+ .cmd = do_rm,
+ .usage = "rm - remove files\n",
+U_BOOT_CMD_END
static int do_rmdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -207,11 +207,11 @@ static int do_rmdir (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- rmdir, 2, 0, do_rmdir,
- "rm - remove files\n",
- ""
-);
+U_BOOT_CMD_START(rmdir)
+ .maxargs = 2,
+ .cmd = do_rmdir,
+ .usage = "rmdir <dir> - remove directories\n",
+U_BOOT_CMD_END
static int do_mount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -243,11 +243,12 @@ static int do_mount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- mount, 4, 0, do_mount,
- "mount - mount a filesystem to a device\n",
- " <device> <type> <path> add a filesystem of type 'type' on the given device"
-);
+U_BOOT_CMD_START(mount)
+ .maxargs = 4,
+ .cmd = do_mount,
+ .usage = "mount - mount a filesystem to a device\n",
+ U_BOOT_CMD_HELP(" <device> <type> <path> add a filesystem of type 'type' on the given device")
+U_BOOT_CMD_END
static int do_umount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -266,13 +267,11 @@ static int do_umount (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
-U_BOOT_CMD(
- umount, 2, 0, do_umount,
- "umount - umount a filesystem\n",
- " <device> <type> <path> add a filesystem of type 'type' on the given device"
-);
-
-/* --------- Testing --------- */
+U_BOOT_CMD_START(umount)
+ .maxargs = 2,
+ .cmd = do_umount,
+ .usage = "umount <path> - umount a filesystem mounted on <path>\n",
+U_BOOT_CMD_END
static int do_cat ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -308,10 +307,8 @@ out:
return err;
}
-U_BOOT_CMD(
- cat, 2, 0, do_cat,
- "cat - bla bla\n",
- "<dev:path> list files on device"
-);
-/* --------- /Testing --------- */
-
+U_BOOT_CMD_START(cat)
+ .maxargs = 2,
+ .cmd = do_cat,
+ .usage = "cat - bla bla\n",
+U_BOOT_CMD_END
diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index 94386c935d..beea5b0c9e 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -176,11 +176,12 @@ out:
return errno;
}
-U_BOOT_CMD(
- md, CONFIG_MAXARGS, 0, do_mem_md,
- "md - memory display\n",
- "[.b, .w, .l] address [# of objects]\n - memory display\n"
-);
+U_BOOT_CMD_START(md)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_mem_md,
+ .usage = "md - memory display\n",
+ U_BOOT_CMD_HELP("write me\n")
+U_BOOT_CMD_END
int do_mem_mw ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -264,11 +265,12 @@ out:
return errno;
}
-U_BOOT_CMD(
- mw, CONFIG_MAXARGS, 0, do_mem_mw,
- "mw - memory write (fill)\n",
- "[.b, .w, .l] address value [count]\n - write memory\n"
-);
+U_BOOT_CMD_START(mw)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_mem_mw,
+ .usage = "mw - memory write (fill)\n",
+ U_BOOT_CMD_HELP("write me\n")
+U_BOOT_CMD_END
int do_mem_cmp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
@@ -440,11 +442,12 @@ out:
return ret;
}
-U_BOOT_CMD(
- cp, 4, 0, do_cp,
- "cp - memory copy\n",
- "[.b, .w, .l] source target count\n - copy memory\n"
-);
+U_BOOT_CMD_START(cp)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_cp,
+ .usage = "cp - copy files\n",
+ U_BOOT_CMD_HELP("write me\n")
+U_BOOT_CMD_END
#ifndef CONFIG_CRC32_VERIFY
@@ -618,19 +621,21 @@ static int mem_init(void)
device_initcall(mem_init);
-U_BOOT_CMD(
- cmp, 4, 0, do_mem_cmp,
- "cmp - memory compare\n",
- "[.b, .w, .l] addr1 addr2 count\n - compare memory\n"
-);
+U_BOOT_CMD_START(cmp)
+ .maxargs = 4,
+ .cmd = do_mem_cmp,
+ .usage = "cmp - memory compare\n",
+ U_BOOT_CMD_HELP("write me\n")
+U_BOOT_CMD_END
#ifndef CONFIG_CRC32_VERIFY
-U_BOOT_CMD(
- crc32, 4, 0, do_mem_crc,
- "crc32 - checksum calculation\n",
- "address count [addr]\n - compute CRC32 checksum [save at addr]\n"
-);
+U_BOOT_CMD_START(crc32)
+ .maxargs = 4,
+ .cmd = do_mem_crc,
+ .usage = "crc32 - checksum calculation\n",
+ U_BOOT_CMD_HELP("address count [addr]\n - compute CRC32 checksum [save at addr]\n")
+U_BOOT_CMD_END
#else /* CONFIG_CRC32_VERIFY */
diff --git a/common/cmd_misc.c b/common/cmd_misc.c
index 7199a1b79f..2dc28e92c5 100644
--- a/common/cmd_misc.c
+++ b/common/cmd_misc.c
@@ -51,38 +51,53 @@ int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- sleep , 2, 2, do_sleep,
- "sleep - delay execution for some time\n",
- "N\n"
- " - delay execution for N seconds (N is _decimal_ !!!)\n"
-);
+U_BOOT_CMD_START(sleep)
+ .maxargs = 2,
+ .cmd = do_sleep,
+ .usage = "sleep - delay execution for n secondsnn",
+U_BOOT_CMD_END
+
+#endif
+
+#ifdef CONFIG_CMD_CLEAR
+int do_clear (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+
+ printf("%c[2J%c[;H", 27, 27);
+
+ return 0;
+}
+
+U_BOOT_CMD_START(clear)
+ .maxargs = 1,
+ .cmd = do_clear,
+ .usage = "clear - clear screen\n",
+U_BOOT_CMD_END
#endif
-#ifdef CONFIG_CMD_MALLOCINFO
-int do_mallocinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+#ifdef CONFIG_CMD_MEMINFO
+int do_meminfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
malloc_stats();
return 0;
}
-U_BOOT_CMD(
- mallocinfo , 1, 2, do_mallocinfo,
- "mallocinfo - print info about malloc usage\n",
- "N\n"
- " - print info about malloc usage\n"
-);
+U_BOOT_CMD_START(meminfo)
+ .maxargs = 1,
+ .cmd = do_meminfo,
+ .usage = "meminfo - print info about memory usage\n",
+U_BOOT_CMD_END
#endif
/* Implemented in $(CPU)/interrupts.c */
#if (CONFIG_COMMANDS & CFG_CMD_IRQ)
int do_irqinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-U_BOOT_CMD(
- irqinfo, 1, 1, do_irqinfo,
- "irqinfo - print information about IRQs\n",
- NULL
-);
+U_BOOT_CMD_START(irqinfo)
+ .maxargs = 1,
+ .cmd = do_irqinfo,
+ .usage = "irqinfo - print information about IRQs\n",
+U_BOOT_CMD_END
#endif /* CONFIG_COMMANDS & CFG_CMD_IRQ */
diff --git a/common/cmd_net.c b/common/cmd_net.c
index 74a3dbdd5b..4f7018143c 100644
--- a/common/cmd_net.c
+++ b/common/cmd_net.c
@@ -93,33 +93,36 @@ int do_bootp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return netboot_common (BOOTP, cmdtp, argc, argv);
}
-U_BOOT_CMD(
- bootp, 3, 1, do_bootp,
- "bootp\t- boot image via network using BootP/TFTP protocol\n",
- "[loadAddress] [bootfilename]\n"
-);
+U_BOOT_CMD_START(bootp)
+ .maxargs = 3,
+ .cmd = do_bootp,
+ .usage = "bootp\t- boot image via network using BootP/TFTP protocol\n",
+ U_BOOT_CMD_HELP("[loadAddress] [bootfilename]\n")
+U_BOOT_CMD_END
int do_tftpb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
return netboot_common (TFTP, cmdtp, argc, argv);
}
-U_BOOT_CMD(
- tftpboot, 3, 1, do_tftpb,
- "tftpboot- boot image via network using TFTP protocol\n",
- "[loadAddress] [bootfilename]\n"
-);
+U_BOOT_CMD_START(tftpboot)
+ .maxargs = 3,
+ .cmd = do_tftpb,
+ .usage = "tftpboot- boot image via network using TFTP protocol\n",
+ U_BOOT_CMD_HELP("[loadAddress] [bootfilename]\n")
+U_BOOT_CMD_END
int do_rarpb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
return netboot_common (RARP, cmdtp, argc, argv);
}
-U_BOOT_CMD(
- rarpboot, 3, 1, do_rarpb,
- "rarpboot- boot image via network using RARP/TFTP protocol\n",
- "[loadAddress] [bootfilename]\n"
-);
+U_BOOT_CMD_START(rarpboot)
+ .maxargs = 3,
+ .cmd = do_rarpb,
+ .usage = "rarpboot- boot image via network using RARP/TFTP protocol\n",
+ U_BOOT_CMD_HELP("[loadAddress] [bootfilename]\n")
+U_BOOT_CMD_END
#ifdef CONFIG_NET_DHCP
int do_dhcp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@@ -135,11 +138,12 @@ int do_dhcp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- dhcp, 3, 1, do_dhcp,
- "dhcp\t- invoke DHCP client to obtain IP/boot params\n",
- "\n"
-);
+U_BOOT_CMD_START(dhcp)
+ .maxargs = 3,
+ .cmd = do_dhcp,
+ .usage = "dhcp\t- invoke DHCP client to obtain IP/boot params\n",
+U_BOOT_CMD_END
+
#endif /* CONFIG_NET_DHCP */
#ifdef CONFIG_NET_NFS
@@ -148,11 +152,13 @@ int do_nfs (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return netboot_common(NFS, cmdtp, argc, argv);
}
-U_BOOT_CMD(
- nfs, 3, 1, do_nfs,
- "nfs\t- boot image via network using NFS protocol\n",
- "[loadAddress] [host ip addr:bootfilename]\n"
-);
+U_BOOT_CMD_START(nfs)
+ .maxargs = 3,
+ .cmd = do_nfs,
+ .usage = "nfs\t- boot image via network using NFS protocol\n",
+ U_BOOT_CMD_HELP("[loadAddress] [host ip addr:bootfilename]\n")
+U_BOOT_CMD_END
+
#endif /* CONFIG_NET_NFS */
int net_store_fd;
@@ -229,8 +235,11 @@ int do_cdp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- cdp, 1, 1, do_cdp,
- "cdp\t- Perform CDP network configuration\n",
-);
+U_BOOT_CMD_START(cdp)
+ .maxargs = 1,
+ .cmd = do_cdp,
+ .usage = "cdp\t- Perform CDP network configuration\n",
+ U_BOOT_CMD_HELP("[loadAddress] [host ip addr:bootfilename]\n")
+U_BOOT_CMD_END
+
#endif /* CFG_CMD_CDP */
diff --git a/common/command.c b/common/command.c
index ef0f93a133..12f2715ef5 100644
--- a/common/command.c
+++ b/common/command.c
@@ -39,11 +39,11 @@ do_version (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- version, 1, 1, do_version,
- "version - print monitor version\n",
- NULL
-);
+U_BOOT_CMD_START(version)
+ .maxargs = 1,
+ .cmd = do_version,
+ .usage = "version - print monitor version\n",
+U_BOOT_CMD_END
int
do_true (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@@ -51,11 +51,11 @@ do_true (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- true, 1, 1, do_true,
- "true - return 0\n",
- NULL
-);
+U_BOOT_CMD_START(true)
+ .maxargs = 1,
+ .cmd = do_true,
+ .usage = "true - return 0\n",
+U_BOOT_CMD_END
int
do_false (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@@ -63,11 +63,11 @@ do_false (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 1;
}
-U_BOOT_CMD(
- false, 1, 1, do_false,
- "false - return 1\n",
- NULL
-);
+U_BOOT_CMD_START(false)
+ .maxargs = 1,
+ .cmd = do_false,
+ .usage = "false - return 1\n",
+U_BOOT_CMD_END
#ifdef CONFIG_HUSH_PARSER
@@ -92,11 +92,11 @@ do_readline (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- readline, 3, 1, do_readline,
- "readline - \n",
- NULL
-);
+U_BOOT_CMD_START(readline)
+ .maxargs = 3,
+ .cmd = do_readline,
+ .usage = "readline - \n",
+U_BOOT_CMD_END
int
do_test (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@@ -104,6 +104,14 @@ do_test (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
char **ap;
int left, adv, expr, last_expr, neg, last_cmp;
+ if (*argv[0] == '[') {
+ if (*argv[argc - 1] != ']') {
+ printf("[: missing `]'\n");
+ return 1;
+ }
+ argc--;
+ }
+
/* args? */
if (argc < 3)
return 1;
@@ -211,12 +219,17 @@ do_test (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return expr;
}
-U_BOOT_CMD(
- test, CONFIG_MAXARGS, 1, do_test,
- "test - minimal test like /bin/sh\n",
+char *test_aliases[] = { "[", NULL};
+
+U_BOOT_CMD_START(test)
+ .aliases = test_aliases,
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_test,
+ .usage = "test - minimal test like /bin/sh\n",
+ U_BOOT_CMD_HELP(
"[args..]\n"
- " - test functionality\n"
-);
+ " - test functionality\n")
+U_BOOT_CMD_END
int
do_exit (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@@ -230,12 +243,11 @@ do_exit (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return -r - 2;
}
-U_BOOT_CMD(
- exit, 2, 1, do_exit,
- "exit - exit script\n",
- " - exit functionality\n"
-);
-
+U_BOOT_CMD_START(exit)
+ .maxargs = 1,
+ .cmd = do_exit,
+ .usage = "exit - exit script\n",
+U_BOOT_CMD_END
#endif
@@ -323,31 +335,20 @@ int do_help (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
return rcode;
}
+char *help_aliases[] = { "?", NULL};
-U_BOOT_CMD(
- help, CONFIG_MAXARGS, 1, do_help,
- "help - print online help\n",
- "[command ...]\n"
+U_BOOT_CMD_START(help)
+ .maxargs = 2,
+ .cmd = do_help,
+ .aliases = help_aliases,
+ .usage = "help - print online help\n",
+ U_BOOT_CMD_HELP(
" - show help information (for 'command')\n"
"'help' prints online help for the monitor commands.\n\n"
"Without arguments, it prints a short usage message for all commands.\n\n"
"To get detailed help information for specific commands you can type\n"
- "'help' with one or more command names as arguments.\n"
-);
-
-/* This do not ust the U_BOOT_CMD macro as ? can't be used in symbol names */
-#ifdef CONFIG_LONGHELP
-cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = {
- "?", CONFIG_MAXARGS, 1, do_help,
- "? - alias for 'help'\n",
- NULL
-};
-#else
-cmd_tbl_t __u_boot_cmd_question_mark Struct_Section = {
- "?", CONFIG_MAXARGS, 1, do_help,
- "? - alias for 'help'\n"
-};
-#endif /* CONFIG_LONGHELP */
+ "'help' with one or more command names as arguments.\n")
+U_BOOT_CMD_END
#endif /* CONFIG_CMD_HELP */
@@ -358,15 +359,10 @@ cmd_tbl_t *find_cmd (const char *cmd)
{
cmd_tbl_t *cmdtp;
cmd_tbl_t *cmdtp_temp = &__u_boot_cmd_start; /*Init value */
- const char *p;
int len;
int n_found = 0;
- /*
- * Some commands allow length modifiers (like "cp.b");
- * compare command name only until first dot.
- */
- len = ((p = strchr(cmd, '.')) == NULL) ? strlen (cmd) : (p - cmd);
+ len = strlen (cmd);
for (cmdtp = &__u_boot_cmd_start;
cmdtp != &__u_boot_cmd_end;
@@ -378,6 +374,19 @@ cmd_tbl_t *find_cmd (const char *cmd)
cmdtp_temp = cmdtp; /* abbreviated command ? */
n_found++;
}
+ if (cmdtp->aliases) {
+ char **aliases = cmdtp->aliases;
+ while(*aliases) {
+ if (strncmp (cmd, *aliases, len) == 0) {
+ if (len == strlen (cmdtp->name))
+ return cmdtp; /* full match */
+
+ cmdtp_temp = cmdtp; /* abbreviated command ? */
+ n_found++;
+ }
+ aliases++;
+ }
+ }
}
if (n_found == 1) { /* exactly one match */
return cmdtp_temp;
diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index 22ef06d776..03dfcb4212 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -1933,7 +1933,7 @@ size_t malloc_usable_size(mem) Void_t* mem;
/* Utility to update current_mallinfo for malloc_stats and mallinfo() */
-#ifdef CONFIG_CMD_MALLOCINFO
+#ifdef CONFIG_CMD_MEMINFO
static void malloc_update_mallinfo()
{
int i;
@@ -2011,7 +2011,7 @@ void malloc_stats()
#endif
}
-#endif /* CONFIG_CMD_MALLOCINFO */
+#endif /* CONFIG_CMD_MEMINFO */
diff --git a/common/env.c b/common/env.c
index 5d9f8ffeff..7d5a02162f 100644
--- a/common/env.c
+++ b/common/env.c
@@ -126,13 +126,15 @@ int do_printenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- printenv, CONFIG_MAXARGS, 1, do_printenv,
- "printenv- print environment variables\n",
+U_BOOT_CMD_START(printenv)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_printenv,
+ .usage = "printenv- print environment variables\n",
+ U_BOOT_CMD_HELP(
"\n - print values of all environment variables\n"
"printenv name ...\n"
- " - print value of environment variable 'name'\n"
-);
+ " - print value of environment variable 'name'\n")
+U_BOOT_CMD_END
#ifdef CONFIG_SIMPLE_PARSER
int do_setenv ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@@ -147,13 +149,16 @@ int do_setenv ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- setenv, CONFIG_MAXARGS, 0, do_setenv,
- "setenv - set environment variables\n",
+U_BOOT_CMD_START(setenv)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_setenv,
+ .usage = "setenv - set environment variables\n",
+ U_BOOT_CMD_HELP(
"name value ...\n"
" - set environment variable 'name' to 'value ...'\n"
"setenv name\n"
" - delete environment variable 'name'\n"
-);
+U_BOOT_CMD_END
+
#endif
diff --git a/common/mtdpart.c b/common/mtdpart.c
index 14bd1e5ae7..2be8c96a74 100644
--- a/common/mtdpart.c
+++ b/common/mtdpart.c
@@ -161,17 +161,17 @@ int do_delpart ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0;
}
-U_BOOT_CMD(
- addpart, 2, 0, do_addpart,
- "addpart - add a partition table to a device\n",
- ""
-);
-
-U_BOOT_CMD(
- delpart, 2, 0, do_delpart,
- "delpart - delete a partition table from a device\n",
- ""
-);
+U_BOOT_CMD_START(addpart)
+ .maxargs = 2,
+ .cmd = do_addpart,
+ .usage = "addpart - add a partition table to a device\n",
+U_BOOT_CMD_END
+
+U_BOOT_CMD_START(delpart)
+ .maxargs = 2,
+ .cmd = do_delpart,
+ .usage = "delpart - delete a partition table from a device\n",
+U_BOOT_CMD_END
int part_probe (struct device_d *dev)
{
diff --git a/common/startup.c b/common/startup.c
index ac975eca03..7a1fe9ed1e 100644
--- a/common/startup.c
+++ b/common/startup.c
@@ -45,6 +45,8 @@
#include <version.h>
#include <mem_malloc.h>
#include <debug_ll.h>
+#include <fs.h>
+#include <linux/stat.h>
ulong load_addr = 0; /* Default Load Address */
@@ -108,6 +110,7 @@ void start_uboot (void)
{
initcall_t *initcall;
int result;
+ struct stat s;
/* compiler optimization barrier needed for GCC >= 3.4 */
// __asm__ __volatile__("": : :"memory");
@@ -130,12 +133,18 @@ void start_uboot (void)
run_command("mkdir /dev", 0);
run_command("mkdir /env", 0);
run_command("mount none devfs /dev", 0);
+ run_command("loadenv", 0);
- run_command("eth0.ip=172.0.0.2", 0);
- run_command("eth0.mac=80:81:82:83:84:85", 0);
- run_command("eth0.serverip=172.0.0.1", 0);
- run_command("eth0.gateway=172.0.0.1", 0);
- run_command("eth0.netmask=255.255.255.0", 0);
+ if (!stat("/env/init", &s)) {
+ printf("running /env/init\n");
+ run_command("exec /env/init", 0);
+ }
+
+// run_command("eth0.ip=172.0.0.2", 0);
+// run_command("eth0.mac=80:81:82:83:84:85", 0);
+// run_command("eth0.serverip=172.0.0.1", 0);
+// run_command("eth0.gateway=172.0.0.1", 0);
+// run_command("eth0.netmask=255.255.255.0", 0);
/* main_loop() can return to retry autoboot, if so just run it again. */
for (;;) {