diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-10-21 17:25:45 -0500 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-10-29 00:59:50 +0100 |
commit | 49c3a861d11735838f1f1b11999ce433006dc919 (patch) | |
tree | 4a152a1bf57e164839785f2295a758da97148ee8 /include | |
parent | be08315933537f061bc1ce61f33a29c56458bbad (diff) | |
download | u-boot-imx-49c3a861d11735838f1f1b11999ce433006dc919.zip u-boot-imx-49c3a861d11735838f1f1b11999ce433006dc919.tar.gz u-boot-imx-49c3a861d11735838f1f1b11999ce433006dc919.tar.bz2 |
bootm: Add subcommands
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>
Diffstat (limited to 'include')
-rw-r--r-- | include/image.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/image.h b/include/image.h index 1598b61..5433555 100644 --- a/include/image.h +++ b/include/image.h @@ -230,6 +230,7 @@ typedef struct bootm_headers { #endif #endif +#ifndef USE_HOSTCC image_info_t os; /* os image info */ ulong ep; /* entry point of OS */ @@ -240,8 +241,25 @@ typedef struct bootm_headers { #endif ulong ft_len; /* length of flat device tree */ + ulong initrd_start; + ulong initrd_end; + ulong cmdline_start; + ulong cmdline_end; + bd_t *kbd; +#endif + int verify; /* getenv("verify")[0] != 'n' */ - int valid; /* set to 1 if we've set values in the header */ + +#define BOOTM_STATE_START (0x00000001) +#define BOOTM_STATE_LOADOS (0x00000002) +#define BOOTM_STATE_RAMDISK (0x00000004) +#define BOOTM_STATE_FDT (0x00000008) +#define BOOTM_STATE_OS_CMDLINE (0x00000010) +#define BOOTM_STATE_OS_BD_T (0x00000020) +#define BOOTM_STATE_OS_PREP (0x00000040) +#define BOOTM_STATE_OS_GO (0x00000080) + int state; + #ifndef USE_HOSTCC struct lmb lmb; /* for memory mgmt */ #endif |