summaryrefslogtreecommitdiff
path: root/include/command.h
AgeCommit message (Collapse)Author
2012-12-11Add console command to access io space registersVadim Bendebury
Provide u-boot console functions to access IO space registers. A no thrills implementation, accessing one register at a time. For example: boot > iod 80 0080: 00000094 boot > iod.w 80 0080: 0094 boot > iod.b 80 0080: 94 boot > iow.b 0x80 12 boot > iod 0x80 0080: 00000012 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
2012-10-22common: Discard the __u_boot_cmd sectionMarek Vasut
The command declaration now uses the new LG-array method to generate list of commands. Thus the __u_boot_cmd section is now superseded and redundant and therefore can be removed. Also, remove externed symbols associated with this section from include/command.h . Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Mike Frysinger <vapier@gentoo.org>
2012-10-22common: Convert the U-Boot commands to LG-arraysMarek Vasut
This patch converts the old method of creating a list of command onto the new LG-arrays code. The old u_boot_cmd section is converted to new u_boot_list_cmd subsection and LG-array macros used as needed. Minor adjustments had to be made to the common code to work with the LG-array macros, mostly the fixup_cmdtable() calls are now passed the ll_entry_start and ll_entry_count instead of linker-generated symbols. The command.c had to be adjusted as well so it would use the newly introduced LG-array API instead of directly using linker-generated symbols. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Mike Frysinger <vapier@gentoo.org>
2012-09-25combine block device load commands into common functionRob Herring
All the raw block load commands duplicate the same code. Starting with the ide version as it has progress updates convert ide, usb, and scsi boot commands to all use a common version. Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2012-03-06Add cmd_process() to process commands in one placeSimon Glass
We currently have the same code in hush.c and main.c. This brings the code into one place. As an added feature, if the command function returns CMD_RET_USAGE then cmd_process() will print a usage message for the command before returning the standard failure code of 1. ARM code size increases about 32 bytes with this clean-up. Signed-off-by: Simon Glass <sjg@chromium.org>
2012-03-06Create a single cmd_call() function to handle command executionSimon Glass
We should aim for a single point of entry to the commands, whichever parser is used. Signed-off-by: Simon Glass <sjg@chromium.org>
2011-11-22env: clean cmd_nvedit.c checkpatch and code styleIgor Grinberg
Cleanup the cmd_nvedit.c checkpatch warnings, errors and coding style. There are 10 wanrings left about the simple_strtoul() function: WARNING: simple_strtoul is obsolete, use kstrtoul instead #359: FILE: cmd_nvedit.c:359: + load_addr = simple_strtoul(argv[2], NULL, 16); ... total: 0 errors, 10 warnings, 1043 lines checked Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
2011-10-17sandbox: Force command sections to be 4-byte alignedSimon Glass
By default sections are 16-byte aligned on some architectures, but the command name structure (struct cmd_tbl_s) does not have padding to 16 bytes. This reduces the alignment to 4-bytes so that the command table can be accessed correctly on any architecture. (Note: this needs doing properly) Signed-off-by: Simon Glass <sjg@chromium.org>
2011-07-26cmd_usage: constifyMike Frysinger
The usage helper doesn't modify the command, so constify its input arg. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-25autostart: unify duplicated logic into the bootm codeMike Frysinger
Rather than having a bunch of random commands handle autostart behavior, unify the logic in a single place. This also fixes building of these different commands when bootm is disabled. Acked-by: Matthew McClintock <msm@freescale.com> Acked-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-28autocomplete: remove runtime handler installMike Frysinger
Rather than add runtime overhead of installing completion handlers, do it statically at build time. This requires a new build time helper macro to declare a command and the completion handler at the same time. Then we convert the env related funcs over to this. This gives an opportunity to also unify the U_BOOT_CMD macros. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-28do_reset: unify duplicate prototypesMike Frysinger
The duplication of the do_reset prototype has gotten out of hand, and they're not all in sync. Unify them all in command.h. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-28do_bootd: unify duplicate prototypesMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-28do_bootm: unify duplicate prototypesMike Frysinger
The duplication of the do_bootm prototype has gotten out of hand, and they're pretty much all outdated (wrt constness). Unify them all in command.h. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-11-28command_t: punt unused typeMike Frysinger
The recent command clean up to constify the argv option to command funcs missed the command_t type itself. This is probably because there are no build time warnings from it because no one is actually using this thing. So just punt it rather than fix it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-10-29Replace CONFIG_RELOC_FIXUP_WORKS by CONFIG_NEEDS_MANUAL_RELOCWolfgang Denk
By now, the majority of architectures have working relocation support, so the few remaining architectures have become exceptions. To make this more obvious, we make working relocation now the default case, and flag the remaining cases with CONFIG_NEEDS_MANUAL_RELOC. Signed-off-by: Wolfgang Denk <wd@denx.de> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-09-19relocation: fixup cmdtableHeiko Schocher
fixup_cmdtable() did all work for fixing up the cmdtable, if CONFIG_RELOC_FIXUP_WORKS is not defined. CONFIG_RELOC_FIXUP_WORKS is missing for i386! I talked with Graeme Russ, and he will fix this soon. Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Heiko Schocher <hs@denx.de>
2010-07-04Make sure that argv[] argument pointers are not modified.Wolfgang Denk
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 <wd@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
2009-06-12Make "usage" messages more helpful.Wolfgang Denk
In case of incorrect command invocations U-Boot used to print pretty useless "usage" messages, for example: => nand markbad Usage: nand - NAND sub-system In the result, the user would have to run the "help" command to get the (available) information about correct command usage. Change this, so that this information gets always printed. Note that this changes the user interface of all commands, but hopefully to the better. Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-03-27command.c: Expose the core of do_help as _do_help to the rest of u-boot.Detlev Zundel
Other commands implementing subcommands can reuse this code nicely. Signed-off-by: Detlev Zundel <dzu@denx.de> Signed-off-by: Andreas Pfefferle <ap@denx.de>
2009-01-28Command usage cleanupPeter Tyser
Remove command name from all command "usage" fields and update common/command.c to display "name - usage" instead of just "usage". Also remove newlines from command usage fields. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-01-28Standardize command usage messages with cmd_usage()Peter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-10-18Expose command table search for sub-commandsKumar Gala
Sub-command can benefit from using the same table and search functions that top level commands have. Expose this functionality by refactoring find_cmd() and introducing find_cmd_tbl() that sub-command processing can call. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-09-10move cmd_get_data_size to command.cJean-Christophe PLAGNIOL-VILLARD
add CMD_DATA_SIZE macro to enable it Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-08-06Fix merge problemsStefan Roese
Signed-off-by: Stefan Roese <sr@denx.de>
2008-05-21Big white-space cleanup.Wolfgang Denk
This commit gets rid of a huge amount of silly white-space issues. Especially, all sequences of SPACEs followed by TAB characters get removed (unless they appear in print statements). Also remove all embedded "vim:" and "vi:" statements which hide indentation problems. Signed-off-by: Wolfgang Denk <wd@denx.de>
2007-07-08Remove references to the old cmd_confdefs.h include file.Jon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2004-04-15* Patches by Pantelis Antoniou, 30 Mar 2004:wdenk
- add auto-complete support to the U-Boot CLI - add support for NETTA and NETPHONE boards; fix NETVIA board * Patch by Yuli Barcohen, 28 Mar 2004: - Add support for MPC8272 family including MPC8247/8248/8271/8272 - Add support for MPC8272ADS evaluation board (another flavour of MPC8260ADS) - Change configuration method for MPC8260ADS family
2003-07-01Patch by Kenneth Johansson, 30 Jun 2003:wdenk
get rid of MK_CMD_ENTRY macro; update doc/README.command
2003-06-27* Code cleanup:wdenk
- remove trailing white space, trailing empty lines, C++ comments, etc. - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c) * Patches by Kenneth Johansson, 25 Jun 2003: - major rework of command structure (work done mostly by Michal Cendrowski and Joakim Kristiansen)
2002-08-27Initial revisionwdenk