diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-07-20 08:04:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-07-26 08:31:31 +0200 |
commit | 4d85cb974a5f95a98f81a5efd45f9956ca8c4858 (patch) | |
tree | fead2940d3654d6c4ac50ef53d02a7594e1a66ed /include | |
parent | cb47ddee1b700d910c0459c71ce7a98035e5de5b (diff) | |
download | barebox-4d85cb974a5f95a98f81a5efd45f9956ca8c4858.tar.gz barebox-4d85cb974a5f95a98f81a5efd45f9956ca8c4858.tar.xz |
include: Move bulk of boot.h to bootm.h
The majority of the stuff currently in include/boot.h is about bootm
code implemented common/bootm.c. To be more consistent move it to a
new file include/bootm.h.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/boot.h | 120 | ||||
-rw-r--r-- | include/bootm.h | 125 | ||||
-rw-r--r-- | include/image-fit.h | 2 |
3 files changed, 126 insertions, 121 deletions
diff --git a/include/boot.h b/include/boot.h index 8e7a9f11d4..da40ac2ece 100644 --- a/include/boot.h +++ b/include/boot.h @@ -1,115 +1,9 @@ #ifndef __BOOT_H #define __BOOT_H -#include <image.h> -#include <filetype.h> #include <of.h> -#include <linux/list.h> #include <environment.h> -enum bootm_verify { - BOOTM_VERIFY_NONE, - BOOTM_VERIFY_HASH, - BOOTM_VERIFY_SIGNATURE, - BOOTM_VERIFY_AVAILABLE, -}; - -struct bootm_data { - const char *os_file; - const char *initrd_file; - const char *oftree_file; - int verbose; - enum bootm_verify verify; - bool force; - bool dryrun; - /* - * appendroot - if true, try to add a suitable root= Kernel option to - * mount the rootfs from the same device as the Kernel comes from. - */ - bool appendroot; - unsigned long initrd_address; - unsigned long os_address; - unsigned long os_entry; -}; - -int bootm_boot(struct bootm_data *data); - -struct image_data { - /* simplest case. barebox has already loaded the os here */ - struct resource *os_res; - - /* if os is an uImage this will be provided */ - struct uimage_handle *os; - - /* if os is a FIT image this will be provided */ - struct fit_handle *os_fit; - - char *os_part; - - /* otherwise only the filename will be provided */ - char *os_file; - - /* - * The address the user wants to load the os image to. - * May be UIMAGE_INVALID_ADDRESS to indicate that the - * user has not specified any address. In this case the - * handler may choose a suitable address - */ - unsigned long os_address; - - /* entry point to the os. relative to the start of the image */ - unsigned long os_entry; - - /* if initrd is already loaded this resource will be !NULL */ - struct resource *initrd_res; - - /* if initrd is an uImage this will be provided */ - struct uimage_handle *initrd; - char *initrd_part; - - /* otherwise only the filename will be provided */ - char *initrd_file; - - unsigned long initrd_address; - - char *oftree_file; - char *oftree_part; - - struct device_node *of_root_node; - struct fdt_header *oftree; - struct resource *oftree_res; - - enum bootm_verify verify; - int verbose; - int force; - int dryrun; -}; - -struct image_handler { - const char *name; - - struct list_head list; - - int ih_os; - - enum filetype filetype; - int (*bootm)(struct image_data *data); -}; - -int register_image_handler(struct image_handler *handle); - -#ifdef CONFIG_BOOTM_VERBOSE -static inline int bootm_verbose(struct image_data *data) -{ - return data->verbose; -} -#else -static inline int bootm_verbose(struct image_data *data) -{ - return 0; -} -#endif - #ifdef CONFIG_FLEXIBLE_BOOTARGS const char *linux_bootargs_get(void); int linux_bootargs_overwrite(const char *bootargs); @@ -125,18 +19,4 @@ static inline int linux_bootargs_overwrite(const char *bootargs) } #endif -void bootm_data_init_defaults(struct bootm_data *data); - -int bootm_load_os(struct image_data *data, unsigned long load_address); - -bool bootm_has_initrd(struct image_data *data); -int bootm_load_initrd(struct image_data *data, unsigned long load_address); - -int bootm_load_devicetree(struct image_data *data, unsigned long load_address); -int bootm_get_os_size(struct image_data *data); - -enum bootm_verify bootm_get_verify_mode(void); - -#define UIMAGE_SOME_ADDRESS (UIMAGE_INVALID_ADDRESS - 1) - #endif /* __BOOT_H */ diff --git a/include/bootm.h b/include/bootm.h new file mode 100644 index 0000000000..6e9777a9ac --- /dev/null +++ b/include/bootm.h @@ -0,0 +1,125 @@ +#ifndef __BOOTM_H +#define __BOOTM_H + +#include <image.h> +#include <filetype.h> +#include <linux/list.h> + +enum bootm_verify { + BOOTM_VERIFY_NONE, + BOOTM_VERIFY_HASH, + BOOTM_VERIFY_SIGNATURE, + BOOTM_VERIFY_AVAILABLE, +}; + +struct bootm_data { + const char *os_file; + const char *initrd_file; + const char *oftree_file; + int verbose; + enum bootm_verify verify; + bool force; + bool dryrun; + /* + * appendroot - if true, try to add a suitable root= Kernel option to + * mount the rootfs from the same device as the Kernel comes from. + */ + bool appendroot; + unsigned long initrd_address; + unsigned long os_address; + unsigned long os_entry; +}; + +int bootm_boot(struct bootm_data *data); + +struct image_data { + /* simplest case. barebox has already loaded the os here */ + struct resource *os_res; + + /* if os is an uImage this will be provided */ + struct uimage_handle *os; + + /* if os is a FIT image this will be provided */ + struct fit_handle *os_fit; + + char *os_part; + + /* otherwise only the filename will be provided */ + char *os_file; + + /* + * The address the user wants to load the os image to. + * May be UIMAGE_INVALID_ADDRESS to indicate that the + * user has not specified any address. In this case the + * handler may choose a suitable address + */ + unsigned long os_address; + + /* entry point to the os. relative to the start of the image */ + unsigned long os_entry; + + /* if initrd is already loaded this resource will be !NULL */ + struct resource *initrd_res; + + /* if initrd is an uImage this will be provided */ + struct uimage_handle *initrd; + char *initrd_part; + + /* otherwise only the filename will be provided */ + char *initrd_file; + + unsigned long initrd_address; + + char *oftree_file; + char *oftree_part; + + struct device_node *of_root_node; + struct fdt_header *oftree; + struct resource *oftree_res; + + enum bootm_verify verify; + int verbose; + int force; + int dryrun; +}; + +struct image_handler { + const char *name; + + struct list_head list; + + int ih_os; + + enum filetype filetype; + int (*bootm)(struct image_data *data); +}; + +int register_image_handler(struct image_handler *handle); + +#ifdef CONFIG_BOOTM_VERBOSE +static inline int bootm_verbose(struct image_data *data) +{ + return data->verbose; +} +#else +static inline int bootm_verbose(struct image_data *data) +{ + return 0; +} +#endif + +void bootm_data_init_defaults(struct bootm_data *data); + +int bootm_load_os(struct image_data *data, unsigned long load_address); + +bool bootm_has_initrd(struct image_data *data); +int bootm_load_initrd(struct image_data *data, unsigned long load_address); + +int bootm_load_devicetree(struct image_data *data, unsigned long load_address); +int bootm_get_os_size(struct image_data *data); + +enum bootm_verify bootm_get_verify_mode(void); + +#define UIMAGE_SOME_ADDRESS (UIMAGE_INVALID_ADDRESS - 1) + +#endif /* __BOOTM_H */ diff --git a/include/image-fit.h b/include/image-fit.h index c9d6911a97..c49f958268 100644 --- a/include/image-fit.h +++ b/include/image-fit.h @@ -19,7 +19,7 @@ #define __IMAGE_FIT_H__ #include <linux/types.h> -#include <boot.h> +#include <bootm.h> struct fit_handle { void *fit; |