summaryrefslogtreecommitdiff
path: root/common/cmd_bootm.c
AgeCommit message (Collapse)Author
2008-10-18Added arch_lmb_reserve to allow arch specific memory regions protectionKumar Gala
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>
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-10-13Fix lzma uncompress call (image_start wrongly used instead image_len)Luigi 'Comio' Mantellini
Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
2008-09-13Add support for LZMA uncompression algorithm.Luigi 'Comio' Mantellini
Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-09-09bootm_load_os: fix load_end debug messageJean-Christophe PLAGNIOL-VILLARD
print load_end value not pointer Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-09-09bootm: enable fdt support only on ppc, m68k and sparcJean-Christophe PLAGNIOL-VILLARD
...as done in image.c Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-09-09FIT: make iminfo check hashes of all images in FIT, return 1 on failed checkBartlomiej Sieka
Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
2008-09-09Add support for booting of INTEGRITY operating system uImagesPeter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2008-09-09Remove support for booting ARTOS imagesKumar Gala
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>
2008-09-08common/cmd_bootm.c: fix printf() format warningsWolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-09-07Prevent crash if random/invalid ramdisks are passed to bootmKumar Gala
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>
2008-09-07Prevent crash if random DTB address is passed to bootmAnatolij Gustschin
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>
2008-08-26bootm: refactor do_reset and os boot function argsKumar Gala
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>
2008-08-26bootm: refactor image detection and os load stepsKumar Gala
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>
2008-08-26bootm: move lmb into the bootm_headers_t structureKumar Gala
To allow for persistent state between future bootm subcommands we need the lmb to exist in a global state. Moving it into the bootm_headers_t allows us to do that. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-08-26bootm: Set working fdt address as part of the bootm flowKumar Gala
Set the fdt working address so "fdt FOO" commands can be used as part of the bootm flow. Also set an the environment variable "fdtaddr" with the value. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-08-26bootm: refactor fdt locating and relocation codeKumar Gala
Move the code that handles finding a device tree blob and relocating it (if needed) into common code so all arch's have access to it. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-08-26bootm: refactor ramdisk locating codeKumar Gala
Move determing if we have a ramdisk and where its located into the common code. Keep track of the ramdisk start and end in the bootm_headers_t image struct. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-08-26bootm: refactor entry point codeKumar Gala
Move entry point code out of each arch and into common code. Keep the entry point in the bootm_headers_t images struct. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-08-19Clean up usage of icache_disable/dcache_disableKumar Gala
There is no point in disabling the icache on 7xx/74xx/86xx parts and not also flushing the icache. All callers of invalidate_l1_instruction_cache() call icache_disable() right after. Make it so icache_disable() calls invalidate_l1_instruction_cache() for us. Also, dcache_disable() already calls dcache_flush() so there is no point in the explicit calls of dcache_flush(). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-08-12Fix fallout from autostart revertKumar Gala
The autostart revert caused a bit of duplicated code as well as code that was using images->autostart that needs to get removed so we can build again. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-08-10Revert "[new uImage] Add autostart flag to bootm_headers structure"Wolfgang Denk
This reverts commit f5614e7926863bf0225ec860d9b319741a9c4004. The commit was based on a misunderstanding of the (documented) meaning of the 'autostart' environment variable. It might cause boards to hang if 'autostart' was used, with the potential to brick them. Go back to the documented behaviour. Conflicts: common/cmd_bootm.c common/image.c include/image.h Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-07-31Uncompressed images loaded to their start address shall set load_end tooGuennadi Liakhovetski
Signed-off-by: Guennadi Liakhovetski <lg@denx.de> Acked-by: Bartlomiej Sieka <tur@semihalf.com>
2008-07-31cmd_bootm.c: Fix problem with '#if (CONFIG_CMD_USB)'Stefan Roese
A recent patch used '#if (CONFIG_CMD_USB)' instead of '#if defined(CONFIG_CMD_USB)'. This patch fixes this problem and makes common/bootm.c compile again. Signed-off-by: Stefan Roese <sr@denx.de> Acked-by: Markus Klotzbuecher <mk@denx.de>
2008-07-30Fix remaining CFG_CMD_ define, ifdef and commentsJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-07-15Prepare v1.3.4-rc1: Code cleanup, update CHANGELOG, sort MakefileWolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-07-10USB: shutdown USB before bootingMarkus Klotzbücher
This patch fixes a potentially serious issue related to USB which was discouvered by Martin Krause <martin.krause@tqs.de> and fixed for ARM920T. Martin wrote: Turn off USB to prevent the host controller from writing to the SDRAM while Linux is booting. This could happen, because the HCCA (Host Controller Communication Area) lies within the SDRAM and the host controller writes continously to this area (as busmaster!), for example to increase the HccaFrameNumber variable, which happens every 1 ms. This is a slightly modified version of the patch in order to shutdown USB when booting on all architectures. Signed-off-by: Markus Klotzbuecher <mk@denx.de>
2008-07-10Fix some more print() format errors.Wolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-06-12Change lmb to use phys_size_t/phys_addr_tBecky Bruce
This updates the lmb code to use phys_size_t and phys_addr_t instead of unsigned long. Other code which interacts with this code, like getenv_bootm_size() is also updated. Booted on MPC8641HPCN, build-tested ppc, arm, mips. Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
2008-05-10Fix build errors when CONFIG_LOGBUFFER and CONFIG_FIT are enabledMarian Balakowicz
Recent modifcations to LOGBUFFER handling code were incorrecly introduced to fit_check_kernel() routine during "Merge branch 'new-image' of git://www.denx.de/git/u-boot-testing", commit 27f33e9f45ef7f9685cbdc65066a1828e85dde4f. This patch cleans up this merge issue. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-04-24Memory footprint optimizationsBartlomiej Sieka
As suggested by Wolfgang Denk: - image printing functions: - remove wrappers - remove indentation prefix from functions' signatures - merge getenv_verify and getenv_autostart into one parametrized function Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
2008-04-18Fix build breakage casued by commit c0559be371b2Wolfgang Denk
Change env_get_char from a global function ptr to a function. Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-04-17Restore the ability to continue booting after legacy image overwriteMarian Balakowicz
Before new uImage code was merged, bootm code allowed for the kernel image to get overwritten during decompresion. new uImage introduced a check for image overwrites and refused to boot the image that got overwritten. This patch restores the old behavior. It also adds a warning when the image overwriten is a multi-image file, because in such case accessing componentes other than the first one will fail. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-03-26Merge branch 'new-image' of git://www.denx.de/git/u-boot-testingBartlomiej Sieka
Conflicts: common/cmd_bootm.c cpu/mpc8xx/cpu.c Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
2008-03-26Remove deprecated CONFIG_OF_HAS_UBOOT_ENV and CONFIG_OF_HAS_BD_TJerry Van Baren
These defines embedded the u-boot env variables and/or the bd_t structure in the fdt blob. The conclusion of discussion on the u-boot email list was that embedding these in the fdt blob is not useful: there are better ways of passing the data (in fact, the fdt blob itself replaces the bd_t struct). The only board that enables these is the stxxtc and they don't appear to be used by linux. Signed-off-by: Gerald Van Baren <vanbaren@cideas.com> Acked-by: Kim Phillips <kim.phillips@freescale.com>
2008-03-20[new uImage] Disable debuging output in preparation for merge with masterBartlomiej Sieka
Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
2008-03-18The patch introduces the alternative configuration of the log buffer for the ↵Yuri Tikhonov
lwmon5 board: the storage for the log-buffer itself is OCM(on-chip memory), the log-buffer header is moved to six GPT registers (PPC440EPX_GPT0_COMP1, ..., PPC440EPX_GPT0_COMP5). To enable this, alternative, configuration the U-Boot board configuration file for lwmon5 includes the definitions of alternative addresses for header (CONFIG_ALT_LH_ADDR) and buffer (CONFIG_ALT_LB_ADDR). The Linux shall be configured with the CONFIG_ALT_LB_LOCATION option set, and has the BOARD_ALT_LH_ADDR and BOARD_ALT_LB_ADDR constants defined in the lwmon5 board-specific header (arch/ppc/platforms/4xx/lwmon5.h). Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
2008-03-12[new uImage] Add proper ramdisk/FDT handling when FIT configuration is usedMarian Balakowicz
Save FIT configuration provied in the first bootm argument and use it when to get ramdisk/FDT subimages when second and third (ramdisk/FDT) arguments are not specified. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-03-12[new uImage] More verbose kernel image uncompress error messageMarian Balakowicz
Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-03-12[new uImage] Use show_boot_progress() for new uImage formatMarian Balakowicz
This patch allocates a set of show_boot_progress() IDs for new uImage format and adds show_boot_progress() calls in new uImage format handling code. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-03-12[new uImage] Add node offsets for FIT images listed in struct bootm_headersMarian Balakowicz
This patch adds new node offset fields to struct bootm_headers and updates bootm_headers processing code to make use of them. Saved node offsets allow to avoid repeating fit_image_get_node() calls. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-03-12[new uImage] Re-enable interrupts for non automatic bootingMarian Balakowicz
Re-enable interrupts if we return from do_bootm_<os> and 'autostart' environment variable is not set to 'yes'. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-03-12[new uImage] Add new uImage format support for kernel bootingMarian Balakowicz
New format uImages are recognized by the bootm command, validity of specified kernel component image is checked and its data section located and used for further processing (uncompress, load, etc.) Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-03-11[new uImage] Add new uImage format support for imls and iminfo commandsMarian Balakowicz
imls and iminfo can now recognize nad print out contents of the new (FIT) format uImages. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-02-29[new uImage] Update naming convention for bootm/uImage related codeMarian Balakowicz
This patch introduces the following prefix convention for the image format handling and bootm related code: genimg_ - dual format shared code image_ - legacy uImage format specific code fit_ - new uImage format specific code boot_ - booting process related code Related routines are renamed and a few pieces of code are moved around and re-grouped. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
2008-02-29[new uImage] Provide ability to restrict region used for boot imagesKumar Gala
Allow the user to set 'bootm_low' and 'bootm_size' env vars as a way to restrict what memory range is used for bootm. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
2008-02-29[new uImage] Use lmb for bootm allocationsKumar Gala
Convert generic ramdisk_high(), get_boot_cmdline(), get_boot_kbd() functions over to using lmb for allocation of the ramdisk, command line and kernel bd info. Convert PPC specific fdt_relocate() to use lmb for allocation of the device tree. Provided a weak function that board code can call to do additional lmb reserves if needed. Also introduce the concept of bootmap_base to specify the offset in physical memory that the bootmap is located at. This is used for allocations of the cmdline, kernel bd, and device tree as they should be contained within bootmap_base and bootmap_base + CFG_BOOTMAPSZ. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-02-29[new uImage] Add autostart flag to bootm_headers structureKumar Gala
The autostart env variable was dropped as part of the initial new uImage cleanup. Add it back here so the arch specific code can decide if it wants to really boot or not. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
2008-02-29[new uImage] Introduce lmb from linux kernel for memory mgmt of boot imagesKumar Gala
Introduce the LMB lib used on PPC in the kernel as a clean way to manage the memory spaces used by various boot images and structures. This code will allow us to simplify the code in bootm and its support functions. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-02-27[new uImage] Add image_get_kernel() routineMarian Balakowicz
Legacy image specific verification is factored out to a separate helper routine to keep get_kernel() generic and simple. Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>