diff options
author | Simon Glass | 2023-12-15 20:14:14 -0700 |
---|---|---|
committer | Tom Rini | 2023-12-21 16:07:52 -0500 |
commit | c2211ff65136c39d8d2aefa76803b5da737daf8c (patch) | |
tree | b30e8a31d60675ae82bdfc2bec5592dc146d2289 /include/bootm.h | |
parent | a48336e5ea19ca0d32dfff1c4eaeececa8d2f570 (diff) |
bootm: Add more fields to bootm_info
Add fields for the three bootm parameters and other things needed for
booting. Also add a helper to set up the struct correctly.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include/bootm.h')
-rw-r--r-- | include/bootm.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/bootm.h b/include/bootm.h index 85c560d5a0a..7cfaa0a7d05 100644 --- a/include/bootm.h +++ b/include/bootm.h @@ -19,17 +19,52 @@ struct cmd_tbl; /** * struct bootm_info() - information used when processing images to boot * + * These mirror the first three arguments of the bootm command. They are + * designed to handle any type of image, but typically it is a FIT. + * + * @addr_img: Address of image to bootm, as passed to + * genimg_get_kernel_addr_fit() for processing: + * + * NULL: Usees default load address, i.e. image_load_addr + * <addr>: Uses hex address + * + * For FIT: + * "[<addr>]#<conf>": Uses address (or image_load_addr) and also specifies + * the FIT configuration to use + * "[<addr>]:<subimage>": Uses address (or image_load_addr) and also + * specifies the subimage name containing the OS + * + * @conf_ramdisk: Address (or with FIT, the name) of the ramdisk image, as + * passed to boot_get_ramdisk() for processing, or NULL for none + * @conf_fdt: Address (or with FIT, the name) of the FDT image, as passed to + * boot_get_fdt() for processing, or NULL for none + * @boot_progress: true to show boot progress * @images: images information + * @cmd_name: command which invoked this operation, e.g. "bootm" * @argc: Number of arguments to the command (excluding the actual command). * This is 0 if there are no arguments * @argv: NULL-terminated list of arguments, or NULL if there are no arguments */ struct bootm_info { + const char *addr_img; + const char *conf_ramdisk; + const char *conf_fdt; + bool boot_progress; struct bootm_headers *images; + const char *cmd_name; int argc; char *const *argv; }; +/** + * bootm_init() - Set up a bootm_info struct with useful defaults + * + * Set up the struct with default values for all members: + * @boot_progress is set to true and @images is set to the global images + * variable. Everything else is set to NULL except @argc which is 0 + */ +void bootm_init(struct bootm_info *bmi); + /* * Continue booting an OS image; caller already has: * - copied image header to global variable `header' |