diff options
author | Simon Glass <sjg@chromium.org> | 2021-10-14 12:47:54 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-11-11 19:01:56 -0500 |
commit | 19a91f2464a89402a925fd4a2d8b7e28c804c7cc (patch) | |
tree | 35d48b06f479acac201447cb32fea47a78c87eb5 /common/image-sig.c | |
parent | 1e72ad6b387c599f477f83cda67ab525c089a9b0 (diff) | |
download | u-boot-19a91f2464a89402a925fd4a2d8b7e28c804c7cc.tar.gz |
Create a new boot/ directory
Quite a lot of the code in common/relates to booting and images. Before
adding more it seems like a good time to move the code into its own
directory.
Most files with 'boot' or 'image' in them are moved, except:
- autoboot.c which relates to U-Boot automatically running a script
- bootstage.c which relates to U-Boot timing
Drop the removal of boot* files from the output directory, since this
interfers with the symlinks created by tools and there does not appear
to be any such file from my brief testing.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Artem Lapkin <email2tema@gmail.com>
Tested-by: Artem Lapkin <email2tema@gmail.com>
Diffstat (limited to 'common/image-sig.c')
-rw-r--r-- | common/image-sig.c | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/common/image-sig.c b/common/image-sig.c deleted file mode 100644 index 1aa0b586450..00000000000 --- a/common/image-sig.c +++ /dev/null @@ -1,136 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (c) 2013, Google Inc. - */ - -#include <common.h> -#include <log.h> -#include <malloc.h> -#include <asm/global_data.h> -DECLARE_GLOBAL_DATA_PTR; -#include <image.h> -#include <relocate.h> -#include <u-boot/ecdsa.h> -#include <u-boot/rsa.h> -#include <u-boot/hash-checksum.h> - -#define IMAGE_MAX_HASHED_NODES 100 - -struct checksum_algo checksum_algos[] = { - { - .name = "sha1", - .checksum_len = SHA1_SUM_LEN, - .der_len = SHA1_DER_LEN, - .der_prefix = sha1_der_prefix, - .calculate = hash_calculate, - }, - { - .name = "sha256", - .checksum_len = SHA256_SUM_LEN, - .der_len = SHA256_DER_LEN, - .der_prefix = sha256_der_prefix, - .calculate = hash_calculate, - }, -#ifdef CONFIG_SHA384 - { - .name = "sha384", - .checksum_len = SHA384_SUM_LEN, - .der_len = SHA384_DER_LEN, - .der_prefix = sha384_der_prefix, - .calculate = hash_calculate, - }, -#endif -#ifdef CONFIG_SHA512 - { - .name = "sha512", - .checksum_len = SHA512_SUM_LEN, - .der_len = SHA512_DER_LEN, - .der_prefix = sha512_der_prefix, - .calculate = hash_calculate, - }, -#endif - -}; - -struct checksum_algo *image_get_checksum_algo(const char *full_name) -{ - int i; - const char *name; - - if (IS_ENABLED(CONFIG_NEEDS_MANUAL_RELOC)) { - static bool done; - - if (!done) { - done = true; - for (i = 0; i < ARRAY_SIZE(checksum_algos); i++) { - struct checksum_algo *algo = &checksum_algos[i]; - - MANUAL_RELOC(algo->name); - MANUAL_RELOC(algo->calculate); - } - } - } - - for (i = 0; i < ARRAY_SIZE(checksum_algos); i++) { - name = checksum_algos[i].name; - /* Make sure names match and next char is a comma */ - if (!strncmp(name, full_name, strlen(name)) && - full_name[strlen(name)] == ',') - return &checksum_algos[i]; - } - - return NULL; -} - -struct crypto_algo *image_get_crypto_algo(const char *full_name) -{ - struct crypto_algo *crypto, *end; - const char *name; - - if (IS_ENABLED(CONFIG_NEEDS_MANUAL_RELOC)) { - static bool done; - - if (!done) { - done = true; - crypto = ll_entry_start(struct crypto_algo, cryptos); - end = ll_entry_end(struct crypto_algo, cryptos); - for (; crypto < end; crypto++) { - MANUAL_RELOC(crypto->name); - MANUAL_RELOC(crypto->verify); - } - } - } - - /* Move name to after the comma */ - name = strchr(full_name, ','); - if (!name) - return NULL; - name += 1; - - crypto = ll_entry_start(struct crypto_algo, cryptos); - end = ll_entry_end(struct crypto_algo, cryptos); - for (; crypto < end; crypto++) { - if (!strcmp(crypto->name, name)) - return crypto; - } - - /* Not found */ - return NULL; -} - -struct padding_algo *image_get_padding_algo(const char *name) -{ - struct padding_algo *padding, *end; - - if (!name) - return NULL; - - padding = ll_entry_start(struct padding_algo, paddings); - end = ll_entry_end(struct padding_algo, paddings); - for (; padding < end; padding++) { - if (!strcmp(padding->name, name)) - return padding; - } - - return NULL; -} |