summaryrefslogtreecommitdiff
path: root/common/cmd_bootm.c
Commit message (Collapse)AuthorAgeLines
* LZMA and LZO causes compile errorMatthias Weisser2010-08-07-2/+5
| | | | | | | If both LZMA and LZO compressions are used there is a compile error in cmd_bootm.c Signed-off-by: Matthias Weisser <weisserm@arcor.de>
* bootm: fix pointer warning with lzmaMike Frysinger2010-08-04-2/+5
| | | | | | | | | | | | | Avoid warning: cmd_bootm.c: In function 'bootm_load_os': cmd_bootm.c:394: warning: passing argument 2 of 'lzmaBuffToBuffDecompress' from incompatible pointer type For 32 bit systems, this change shouldn't make a difference to code size since sizeof(size_t) and sizeof(unsigned int) are equal. But it does fix the warning. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* cmd_usage(): simplify return code handlingWolfgang Denk2010-07-24-7/+4
| | | | | | | | | | | | | | | | Lots of code use this construct: cmd_usage(cmdtp); return 1; Change cmd_usage() let it return 1 - then we can replace all these ocurrances by return cmd_usage(cmdtp); This fixes a few places with incorrect return code handling, too. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Make sure that argv[] argument pointers are not modified.Wolfgang Denk2010-07-04-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Remove AmigaOneG3SE boardWolfgang Denk2010-06-23-9/+0
| | | | | | | | | | The AmigaOneG3SE board has been orphaned or a very long time, and broken for more than 12 releases resp. more than 3 years. As nobody seems to be interested any more in this stuff we may as well ged rid of it, especially as it clutters many areas of the code so it is a continuous pain for all kinds of ongoing work. Signed-off-by: Wolfgang Denk <wd@denx.de>
* nios: remove nios-32 archThomas Chou2010-05-28-2/+0
| | | | | | The nios-32 arch is obsolete and broken. So it is removed. Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
* Move test for unnecessary memmove to memmove_wd()Larry Johnson2010-05-06-5/+2
| | | | Signed-off-by: Larry Johnson <lrj@acm.org>
* Merge branch 'next'Wolfgang Denk2010-04-01-1/+1
|\
| * cmd_bootm.c: made subcommand array staticFrans Meulenbroeks2010-03-21-1/+1
| | | | | | | | Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
* | bootm, linux: fix booting Multi-File Image with "kernel+ramdisk+fdt"Heiko Schocher2010-03-29-1/+2
|/ | | | | | | | | | | | | | | | | | | | | | Booting a "Multi-File Image" including a linux kernel, ramdisk and fdt, generated with mkimage -A ppc \ -O linux \ -T multi \ -C gzip \ -a 00000000 \ -e 00000000 \ -n "kernel-2.6+initrd+dtb" \ -d "vmlinux.bin.gz:ramdisk_image.gz:board.dtb" \ multi.bin actually fails, because ramdisk start and end addresses didn;t get initialized. This patch fixes this issue. Tested on the KUP4K board. Signed-off-by: Heiko Schocher <hs@denx.de>
* gzip/zlib: make features optionalMike Frysinger2010-01-26-0/+2
| | | | | | | | If you really want to slim down U-Boot and you would rather use a higher compression scheme (like LZMA), it'd be nice to disable gzip/zlib since these code bases take up a significant amount of space. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* lmb: only force on arches that use itMike Frysinger2010-01-21-18/+16
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* cmd_bootm.c: Change interpretation of standalone image parameters.Detlev Zundel2010-01-18-3/+0
| | | | | | | | | | Current code uses the second argument to bootm for standalone images to override the load address specified in the image instead of passing all parameters as is to the application. This behaviour is not documented and not in line with how the go command works for standalone applications, so we simply drop it. Signed-off-by: Detlev Zundel <dzu@denx.de>
* cmd_bootm.c: Do not load a ramdisk when not booting a kernel.Detlev Zundel2010-01-18-1/+2
| | | | | | | In case we boot an image marked as 'standalone' and 'linux', the current code erroneously tried to load a ramdisk. Signed-off-by: Detlev Zundel <dzu@denx.de>
* config_defaults.h: new header for common u-boot config defaultsMike Frysinger2010-01-18-4/+0
| | | | | | | | There are a bunch of features in U-Boot that we want to enable by default, and it's best if we centralize them in one place rather than updating all the board files out there. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* move prototypes for gunzip() and zunzip() to common.hWolfgang Wegner2009-12-21-1/+0
| | | | | | | | Prototype for gunzip/zunzip was only in lib_generic/gunzip.c and thus repeated in every file using it. This patch moves the prototypes to common.h and removes all prototypes distributed anywhere else. Signed-off-by: Wolfgang Wegner <w.wegner@astro-kom.de>
* Merge branch 'master' into nextWolfgang Denk2009-12-07-2/+2
|\ | | | | | | | | | | | | Conflicts: lib_generic/zlib.c Signed-off-by: Wolfgang Denk <wd@denx.de>
| * bootm: Fix help message's sub-command orderingPeter Tyser2009-12-07-2/+2
| | | | | | | | | | | | | | | | | | | | The help message for the 'bootm' command listed the 'cmdline' and 'bdt' sub-commands in the wrong order which resulted in the error below when following the 'help' command's instructions: "Trying to execute a command out of order" Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* | Merge branch 'master' into nextWolfgang Denk2009-12-05-2/+2
|\ \ | |/ | | | | | | | | | | | | Conflicts: board/esd/plu405/plu405.c drivers/rtc/ftrtc010.c Signed-off-by: Wolfgang Denk <wd@denx.de>
| * bootm: mark local boot_os[] table staticMike Frysinger2009-11-24-1/+1
| | | | | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| * Repair build fail in case CONFIG_PPC=n and CONFIG_FIT=yRemy Bohmer2009-11-24-1/+1
| | | | | | | | Signed-off-by: Remy Bohmer <linux@bohmer.net>
* | add lzop decompression supportPeter Korsgaard2009-12-05-0/+22
|/ | | | | | | | | | | | | Add lzop decompression support to the existing lzo bitstream handling (think gzip versus zlib), and support it for uImage decompression if CONFIG_LZO is enabled. Lzop doesn't compress as good as gzip (~10% worse), but decompression is very fast (~0.7s faster here on a slow ppc). The lzop decompression code is based on Albin Tonnerre's recent ARM Linux lzo support patch. Cc: albin.tonnerre@free-electrons.com Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Conditionally perform common relocation fixupsPeter Tyser2009-10-03-1/+3
| | | | | | | | | | | Add #ifdefs where necessary to not perform relocation fixups. This allows boards/architectures which support relocation to trim a decent chunk of code. Note that this patch doesn't add #ifdefs to architecture-specific code which does not support relocation. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Add ability for arch code to make changes before we bootKumar Gala2009-09-04-0/+10
| | | | | | | | | Added a arch_preboot_os() function that cpu specific code can implement to allow for various modifications to the state of the machine right before we boot. This can be useful to setup register state to a specific configuration. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Re-add support for image type 'Standalone Program'Detlev Zundel2009-07-23-0/+33
| | | | | | Support for this type was lost during the bootm refactoring. Signed-off-by: Detlev Zundel <dzu@denx.de>
* Add error checking for unsupported OS types.Detlev Zundel2009-07-23-2/+13
| | | | Signed-off-by: Detlev Zundel <dzu@denx.de>
* Refresh LZMA-lib to v4.65Luigi 'Comio' Mantellini2009-07-22-3/+2
| | | | Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
* General help message cleanupWolfgang Denk2009-06-12-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many of the help messages were not really helpful; for example, many commands that take no arguments would not print a correct synopsis line, but "No additional help available." which is not exactly wrong, but not helpful either. Commit ``Make "usage" messages more helpful.'' changed this partially. But it also became clear that lots of "Usage" and "Help" messages (fields "usage" and "help" in struct cmd_tbl_s respective) were actually redundant. This patch cleans this up - for example: Before: => help dtt dtt - Digital Thermometer and Thermostat Usage: dtt - Read temperature from digital thermometer and thermostat. After: => help dtt dtt - Read temperature from Digital Thermometer and Thermostat Usage: dtt Signed-off-by: Wolfgang Denk <wd@denx.de>
* rename include/zlib.h to include/u-boot/zlib.hJean-Christophe PLAGNIOL-VILLARD2009-04-04-1/+1
| | | | | | | | | Some systems have zlib.h installed in /usr/include/. This isn't the desired file for u-boot code - we want the one in include/zlib.h. This rename will avoid the conflict. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* bootm: Reduce the unnecessary memmoveMinkyu Kang2009-02-21-2/+4
| | | | | | | | | | Although load address and image start address are same address, bootm command always does memmove. That is unnecessary memmove and can be taken few milliseconds (about 500 msec to 1000 msec). If skip this memmove, we can reduce the boot time. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* Command usage cleanupPeter Tyser2009-01-28-5/+5
| | | | | | | | 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>
* Standardize command usage messages with cmd_usage()Peter Tyser2009-01-28-2/+2
| | | | Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Fix gunzip in case of insufficient output bufferMatthias Fuchs2009-01-27-1/+1
| | | | | | | | | | | | | | U-Boot's gunzip() function does not handle the return code of zlib's inflate() function correctly. gunzip() is implemented to uncompress all input data in one run. So the correct return code for the good case is Z_STREAM_END. In case of insufficient output buffer memory inflate returns Z_OK. For gunzip() this is an error. It also makes sense to me to call inflateEnd() also in case of an error. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
* bootm: Added CONFIG_BOOTM_{LINUX, NETBSD, RTEMS}Kumar Gala2008-10-29-0/+20
| | | | | | Added the ability to config out bootm support for Linux, NetBSD, RTEMS Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: Add subcommandsKumar Gala2008-10-29-1/+167
| | | | | | | | | | | | | | Add the ability to break the steps of the bootm command into several subcommands: start, loados, ramdisk, fdt, bdt, cmdline, prep, go. This allows us to do things like manipulate device trees before they are passed to a booting kernel or setup memory for a secondary core in multicore situations. Not all OS types support all subcommands (currently only start, loados, ramdisk, fdt, and go are supported). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: Move to using a function pointer table for the boot os functionKumar Gala2008-10-29-37/+31
| | | | | | | | This removes a bit of code and makes it easier for the upcoming sub bootm command support to call into the proper OS specific handler. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Wolfgang Denk <wd@denx.de>
* Added arch_lmb_reserve to allow arch specific memory regions protectionKumar Gala2008-10-18-0/+7
| | | | | | | | | Each architecture has different ways of determine what regions of memory might not be valid to get overwritten when we boot. This provides a hook to allow them to reserve any regions they care about. Currently only ppc, m68k and sparc need/use this. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-10/+10
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Fix lzma uncompress call (image_start wrongly used instead image_len)Luigi 'Comio' Mantellini2008-10-13-1/+1
| | | | Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
* Add support for LZMA uncompression algorithm.Luigi 'Comio' Mantellini2008-09-13-0/+23
| | | | | Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* bootm_load_os: fix load_end debug messageJean-Christophe PLAGNIOL-VILLARD2008-09-09-2/+2
| | | | | | print load_end value not pointer Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* bootm: enable fdt support only on ppc, m68k and sparcJean-Christophe PLAGNIOL-VILLARD2008-09-09-0/+2
| | | | | | ...as done in image.c Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* FIT: make iminfo check hashes of all images in FIT, return 1 on failed checkBartlomiej Sieka2008-09-09-0/+6
| | | | Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
* Add support for booting of INTEGRITY operating system uImagesPeter Tyser2008-09-09-0/+38
| | | | Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Remove support for booting ARTOS imagesKumar Gala2008-09-09-99/+0
| | | | | | | | | | | Pantelis Antoniou stated: AFAIK, it is still used but the products using PPC are long gone. Nuke it plz (from orbit). So remove it since it cleans up a usage of env_get_char outside of the environment code. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* common/cmd_bootm.c: fix printf() format warningsWolfgang Denk2008-09-08-2/+2
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Prevent crash if random/invalid ramdisks are passed to bootmKumar Gala2008-09-07-1/+1
| | | | | | | | | Adds returning an error from the ramdisk detection code if its not a real ramdisk (invalid). There is no reason we can't just return back to the console if we detect an invalid ramdisk or CRC error. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Prevent crash if random DTB address is passed to bootmAnatolij Gustschin2008-09-07-1/+2
| | | | | | | | | This patch adds bootm_start() return value check. If error status is returned, we do not proceed further to prevent board reset or crash as we still can recover at this point. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* bootm: refactor do_reset and os boot function argsKumar Gala2008-08-26-32/+35
| | | | | | | | | | | | There is no need for each OS specific function to call do_reset() we can just do it once in bootm. This means its feasible on an error for the OS boot function to return. Also, remove passing in cmd_tbl_t as its not needed by the OS boot functions. flag isn't currently used but might be in the future so we left it alone. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: refactor image detection and os load stepsKumar Gala2008-08-26-90/+126
| | | | | | | | | | | | | | Created a bootm_start() that handles the parsing and detection of all the images that will be used by the bootm command (OS, ramdisk, fdt). As part of this we now tract all the relevant image offsets in the bootm_headers_t struct. This will allow us to have all the needed state for future sub-commands and lets us reduce a bit of arch specific code on SPARC. Created a bootm_load_os() that deals with decompression and loading the OS image. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>