aboutsummaryrefslogtreecommitdiff
path: root/include/image.h
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2008-10-21 17:25:45 -0500
committerWolfgang Denk <wd@denx.de>2008-10-29 00:59:50 +0100
commit49c3a861d11735838f1f1b11999ce433006dc919 (patch)
tree4a152a1bf57e164839785f2295a758da97148ee8 /include/image.h
parentbe08315933537f061bc1ce61f33a29c56458bbad (diff)
downloadu-boot-linaro-stable-49c3a861d11735838f1f1b11999ce433006dc919.tar.gz
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/image.h')
-rw-r--r--include/image.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/include/image.h b/include/image.h
index 1598b615c..54335559a 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