summaryrefslogtreecommitdiff
path: root/include/image.h
diff options
context:
space:
mode:
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>2021-07-15 01:05:39 +0300
committerTom Rini <trini@konsulko.com>2021-07-16 19:58:56 +0300
commit0980164b1306400e91e5ac389a514111ff74fc01 (patch)
tree402e82c22bfd77d66930daef21ec465c513d0734 /include/image.h
parentcab22c8890e97e8b557295ba2177e26392720765 (diff)
downloadu-boot-0980164b1306400e91e5ac389a514111ff74fc01.tar.xz
image: Add support for placing crypto_algo in linker lists
The purpose of this change is to enable crypto algorithms to be placed in linker lists, rather than be declared as a static array. The goal is to remove the crypto_algos array in a subsequent patch. Create a new linker list named "cryptos", and search it when image_get_crypto_algo() is invoked. NOTE that adding support for manual relocation of crypto_algos within linker lists is beyond the scope of this patch. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/image.h')
-rw-r--r--include/image.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/image.h b/include/image.h
index 8b420f2c02..d4c453428c 100644
--- a/include/image.h
+++ b/include/image.h
@@ -47,6 +47,7 @@ struct fdt_region;
#include <lmb.h>
#include <asm/u-boot.h>
#include <command.h>
+#include <linker_lists.h>
/* Take notice of the 'ignore' property for hashes */
#define IMAGE_ENABLE_IGNORE 1
@@ -1328,6 +1329,10 @@ struct crypto_algo {
uint8_t *sig, uint sig_len);
};
+/* Declare a new U-Boot crypto algorithm handler */
+#define U_BOOT_CRYPTO_ALGO(__name) \
+ll_entry_declare(struct crypto_algo, __name, cryptos)
+
struct padding_algo {
const char *name;
int (*verify)(struct image_sign_info *info,