summaryrefslogtreecommitdiffstats
path: root/include/boot.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2008-02-20 19:01:54 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2008-02-20 19:01:54 +0100
commitf95ec8a32dd811f314329da11ad0ae583233f43a (patch)
tree693ae6e150446d06cd430142898a91c8346f772d /include/boot.h
parente912912a48c6aa127ef6fa79b6e1c41310c19840 (diff)
downloadbarebox-f95ec8a32dd811f314329da11ad0ae583233f43a.tar.gz
barebox-f95ec8a32dd811f314329da11ad0ae583233f43a.tar.xz
- Add functions to register image handlers for booting uImages
Diffstat (limited to 'include/boot.h')
-rw-r--r--include/boot.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/include/boot.h b/include/boot.h
index 6fc7b05b60..2ba918b5c9 100644
--- a/include/boot.h
+++ b/include/boot.h
@@ -2,13 +2,27 @@
#define __BOOT_H
#include <image.h>
+#include <list.h>
-#ifdef CONFIG_OF_FLAT_TREE
-extern int do_bootm_linux(struct image_handle *os, struct image_handle *initrd,
- const char *oftree);
-#else
-extern int do_bootm_linux(struct image_handle *os, struct image_handle *initrd);
-#endif
+struct image_data {
+ struct image_handle *os;
+ struct image_handle *initrd;
+ const char *oftree;
+ int verify;
+};
+
+struct image_handler {
+ struct list_head list;
+
+ char *cmdline_options;
+ int (*cmdline_parse)(struct image_data *data, int opt, char *optarg);
+ char *help_string;
+
+ int image_type;
+ int (*bootm)(struct image_data *data);
+};
+
+int register_image_handler(struct image_handler *handle);
#endif /* __BOOT_H */