diff options
| author | Simon Glass <[email protected]> | 2024-11-15 16:19:14 -0700 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-01-15 08:48:42 -0600 |
| commit | adc621bf15cf7478e2ac46985216703219ebe778 (patch) | |
| tree | 2f2abd90ad2c480c2ee6d918278c6f40b3f1f780 /include | |
| parent | 8a6bf2fb31b6a02227818e679d567ae012494467 (diff) | |
bootstd: Update bootmeth_alloc_file() to record images
As a first step to recording images and where they came from, update
this function to do so, since it is used by two bootmeths
Create a helper function in the bootflow system, since recorded
images are always associated with bootflows.
Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'include')
| -rw-r--r-- | include/bootflow.h | 15 | ||||
| -rw-r--r-- | include/bootmeth.h | 8 |
2 files changed, 20 insertions, 3 deletions
diff --git a/include/bootflow.h b/include/bootflow.h index f407bb356b4..e09cff285e4 100644 --- a/include/bootflow.h +++ b/include/bootflow.h @@ -613,4 +613,19 @@ int bootflow_cmdline_auto(struct bootflow *bflow, const char *arg); * Return: Image name, or "unknown" if not known */ const char *bootflow_img_type_name(enum bootflow_img_t type); + +/** + * bootflow_img_add() - Add a new image to a bootflow + * + * @bflow: Bootflow to add to + * @fname: Image filename (will be allocated) + * @type: Image type + * @addr: Address the image was loaded to, or 0 if not loaded + * @size: Image size + * Return: pointer to the added image, or NULL if out of memory + */ +struct bootflow_img *bootflow_img_add(struct bootflow *bflow, const char *fname, + enum bootflow_img_t type, ulong addr, + ulong size); + #endif diff --git a/include/bootmeth.h b/include/bootmeth.h index a08ebf005ad..e812974ec4d 100644 --- a/include/bootmeth.h +++ b/include/bootmeth.h @@ -7,11 +7,11 @@ #ifndef __bootmeth_h #define __bootmeth_h +#include <bootflow.h> +#include <image.h> #include <linux/bitops.h> struct blk_desc; -struct bootflow; -struct bootflow_iter; struct udevice; /** @@ -365,10 +365,12 @@ int bootmeth_try_file(struct bootflow *bflow, struct blk_desc *desc, * @bflow: Information about file to read * @size_limit: Maximum file size to permit * @align: Allocation alignment (1 for unaligned) + * @type: File type (IH_TYPE_...) * Return: 0 if OK, -E2BIG if file is too large, -ENOMEM if out of memory, * other -ve on other error */ -int bootmeth_alloc_file(struct bootflow *bflow, uint size_limit, uint align); +int bootmeth_alloc_file(struct bootflow *bflow, uint size_limit, uint align, + enum bootflow_img_t type); /** * bootmeth_alloc_other() - Allocate and read a file for a bootflow |
