lib: move hash CONFIG options to Kconfig
authorTom Rini <trini@konsulko.com>
Mon, 15 May 2017 16:17:49 +0000 (12:17 -0400)
committerTom Rini <trini@konsulko.com>
Mon, 22 May 2017 12:36:58 +0000 (08:36 -0400)
Commit 94e3c8c4fd7b ("crypto/fsl - Add progressive hashing support
using hardware acceleration.") created entries for CONFIG_SHA1,
CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and CONFIG_SHA_PROG_HW_ACCEL.
However, no defconfig has migrated to it.  Complete the move by first
adding additional logic to various Kconfig files to select this when
required and then use the moveconfig tool.  In many cases we can select
these because they are required to implement other drivers.  We also
correct how we include the various hashing algorithms in SPL.

This commit was generated as follows (after Kconfig additions):

[1] tools/moveconfig.py -y SHA1 SHA256 SHA_HW_ACCEL
[2] tools/moveconfig.py -y SHA_PROG_HW_ACCEL

Note:
We cannot move SHA_HW_ACCEL and SHA_PROG_HW_ACCEL simultaneously
because there is dependency between them.

Cc: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Cc: Naveen Burmi <NaveenBurmi@freescale.com>
Cc: Po Liu <po.liu@freescale.com>
Cc: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Cc: Priyanka Jain <Priyanka.Jain@freescale.com>
Cc: Shaohui Xie <Shaohui.Xie@freescale.com>
Cc: Chunhe Lan <Chunhe.Lan@freescale.com>
Cc: Chander Kashyap <k.chander@samsung.com>
Cc: Steve Rae <steve.rae@raedomain.com>
Cc: Dirk Eibach <eibach@gdsys.de>
Cc: Feng Li <feng.li_2@nxp.com>
Cc: Alison Wang <alison.wang@freescale.com>
Cc: Sumit Garg <sumit.garg@nxp.com>
Cc: Mingkai Hu <Mingkai.Hu@freescale.com>
Cc: York Sun <york.sun@nxp.com>
Cc: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Akshay Saraswat <akshay.s@samsung.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
49 files changed:
Kconfig
README
arch/arm/include/asm/fsl_secure_boot.h
arch/arm/mach-exynos/Kconfig
arch/powerpc/include/asm/fsl_secure_boot.h
board/freescale/common/Kconfig
common/spl/Kconfig
configs/bcm911360_entphn-ns_defconfig
configs/bcm911360_entphn_defconfig
configs/bcm911360k_defconfig
configs/bcm958300k-ns_defconfig
configs/bcm958300k_defconfig
configs/bcm958305k_defconfig
configs/bcm958622hr_defconfig
configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
configs/controlcenterd_TRAILBLAZER_defconfig
drivers/crypto/fsl/Kconfig
include/configs/B4860QDS.h
include/configs/BSC9131RDB.h
include/configs/BSC9132QDS.h
include/configs/C29XPCIE.h
include/configs/P1010RDB.h
include/configs/P2041RDB.h
include/configs/T102xQDS.h
include/configs/T102xRDB.h
include/configs/T1040QDS.h
include/configs/T104xRDB.h
include/configs/T208xQDS.h
include/configs/T208xRDB.h
include/configs/T4240QDS.h
include/configs/T4240RDB.h
include/configs/bcm_ep_board.h
include/configs/controlcenterd.h
include/configs/corenet_ds.h
include/configs/exynos5-common.h
include/configs/ids8313.h
include/configs/imx6qdl_icore.h
include/configs/imx6qdl_icore_rqs.h
include/configs/imx6ul_geam.h
include/configs/imx6ul_isiot.h
include/configs/ls1021aiot.h
include/configs/ls1021aqds.h
include/configs/ls1021atwr.h
include/configs/ls1043a_common.h
include/configs/ls1046a_common.h
include/configs/ls2080a_common.h
include/configs/sandbox.h
include/image.h
lib/Makefile

diff --git a/Kconfig b/Kconfig
index 0a44531..1b19b7b 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -145,6 +145,7 @@ menu "Boot images"
 config FIT
        bool "Support Flattened Image Tree"
        select MD5
+       select SHA1
        help
          This option allows you to boot the new uImage structure,
          Flattened Image Tree.  FIT is formally a FDT, which can include
@@ -159,6 +160,7 @@ if FIT
 
 config FIT_ENABLE_SHA256_SUPPORT
        bool "Support SHA256 checksum of FIT image contents"
+       select SHA256
        default y
        help
          Enable this to support SHA256 checksum of FIT image contents. A
diff --git a/README b/README
index 15ef469..121d44a 100644 (file)
--- a/README
+++ b/README
@@ -2756,19 +2756,6 @@ The following options need to be configured:
                Enable the hash verify command (hash -v). This adds to code
                size a little.
 
-               CONFIG_SHA1 - This option enables support of hashing using SHA1
-               algorithm. The hash is calculated in software.
-               CONFIG_SHA256 - This option enables support of hashing using
-               SHA256 algorithm. The hash is calculated in software.
-               CONFIG_SHA_HW_ACCEL - This option enables hardware acceleration
-               for SHA1/SHA256 hashing.
-               This affects the 'hash' command and also the
-               hash_lookup_algo() function.
-               CONFIG_SHA_PROG_HW_ACCEL - This option enables
-               hardware-acceleration for SHA1/SHA256 progressive hashing.
-               Data can be streamed in a block at a time and the hashing
-               is performed in hardware.
-
                Note: There is also a sha1sum command, which should perhaps
                be deprecated in favour of 'hash sha1'.
 
index c20a3c3..bd39b6e 100644 (file)
@@ -10,8 +10,6 @@
 #ifdef CONFIG_CHAIN_OF_TRUST
 #define CONFIG_CMD_ESBC_VALIDATE
 #define CONFIG_FSL_SEC_MON
-#define CONFIG_SHA_HW_ACCEL
-#define CONFIG_SHA_PROG_HW_ACCEL
 
 #ifdef CONFIG_SPL_BUILD
 /*
index 46981a5..24cb99e 100644 (file)
@@ -17,6 +17,7 @@ config ARCH_EXYNOS5
        bool "Exynos5 SoC family"
        select CPU_V7
        select BOARD_EARLY_INIT_F
+       select SHA_HW_ACCEL
        help
          Samsung Exynos5 SoC family are based on ARM Cortex-A15 CPU (and
          Cortex-A7 CPU in big.LITTLE configuration). There are multiple SoCs
index 62ce816..8f66fc5 100644 (file)
 
 #define CONFIG_CMD_ESBC_VALIDATE
 #define CONFIG_FSL_SEC_MON
-#define CONFIG_SHA_PROG_HW_ACCEL
 
 #ifndef CONFIG_SPL_BUILD
 /*
index a5e302f..5408857 100644 (file)
@@ -3,5 +3,7 @@ config CHAIN_OF_TRUST
        imply CMD_BLOB
        select FSL_CAAM
        select SPL_BOARD_INIT if (ARM && SPL)
+       select SHA_HW_ACCEL
+       select SHA_PROG_HW_ACCEL
        bool
        default y
index 92b476e..eabb2d0 100644 (file)
@@ -187,6 +187,7 @@ config SPL_MD5_SUPPORT
 config SPL_SHA1_SUPPORT
        bool "Support SHA1"
        depends on SPL_FIT
+       select SHA1
        help
          Enable this to support SHA1 in FIT images within SPL. A SHA1
          checksum is a 160-bit (20-byte) hash value used to check that the
@@ -198,6 +199,7 @@ config SPL_SHA1_SUPPORT
 config SPL_SHA256_SUPPORT
        bool "Support SHA256"
        depends on SPL_FIT
+       select SHA256
        help
          Enable this to support SHA256 in FIT images within SPL. A SHA256
          checksum is a 256-bit (32-byte) hash value used to check that the
@@ -229,6 +231,8 @@ config SPL_CRYPTO_SUPPORT
 
 config SPL_HASH_SUPPORT
        bool "Support hashing drivers"
+       select SHA1
+       select SHA256
        depends on SPL
        help
          Enable hashing drivers in SPL. These drivers can be used to
index 4f04590..61336d3 100644 (file)
@@ -18,4 +18,6 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_FAT=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SHA1=y
+CONFIG_SHA256=y
 CONFIG_OF_LIBFDT=y
index 2469792..cbef3d8 100644 (file)
@@ -18,4 +18,6 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_FAT=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SHA1=y
+CONFIG_SHA256=y
 CONFIG_OF_LIBFDT=y
index 83afce4..b124206 100644 (file)
@@ -18,4 +18,6 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_FAT=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SHA1=y
+CONFIG_SHA256=y
 CONFIG_OF_LIBFDT=y
index b21fea4..f271fa0 100644 (file)
@@ -18,4 +18,6 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_FAT=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SHA1=y
+CONFIG_SHA256=y
 CONFIG_OF_LIBFDT=y
index 83afce4..b124206 100644 (file)
@@ -18,4 +18,6 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_FAT=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SHA1=y
+CONFIG_SHA256=y
 CONFIG_OF_LIBFDT=y
index 83afce4..b124206 100644 (file)
@@ -18,4 +18,6 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_FAT=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SHA1=y
+CONFIG_SHA256=y
 CONFIG_OF_LIBFDT=y
index a639336..9ffbe4b 100644 (file)
@@ -16,4 +16,6 @@ CONFIG_CMD_TIME=y
 CONFIG_CMD_FAT=y
 # CONFIG_MMC is not set
 CONFIG_SYS_NS16550=y
+CONFIG_SHA1=y
+CONFIG_SHA256=y
 CONFIG_OF_LIBFDT=y
index 7ec77a1..061dd17 100644 (file)
@@ -19,3 +19,4 @@ CONFIG_DM=y
 CONFIG_SYS_NS16550=y
 CONFIG_TPM_AUTH_SESSIONS=y
 CONFIG_TPM=y
+CONFIG_SHA1=y
index 3188959..3ccd196 100644 (file)
@@ -1,5 +1,6 @@
 config FSL_CAAM
        bool "Freescale Crypto Driver Support"
+       select SHA_HW_ACCEL
        help
          Enables the Freescale's Cryptographic Accelerator and Assurance
          Module (CAAM), also known as the SEC version 4 (SEC4). The driver uses
index 2041b7b..e94ac5e 100644 (file)
@@ -714,7 +714,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 72dc8ba..bce6229 100644 (file)
@@ -331,7 +331,6 @@ extern unsigned long get_sdram_size(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #ifdef CONFIG_USB_EHCI_HCD
index 1b956fc..b303b4b 100644 (file)
@@ -528,7 +528,6 @@ combinations. this should be removed later
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index f95c3b9..b8c823c 100644 (file)
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 867004f..ce32f43 100644 (file)
@@ -738,7 +738,6 @@ extern unsigned long get_sdram_size(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 7629fe8..66c1bba 100644 (file)
@@ -607,7 +607,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 42e692c..9482893 100644 (file)
@@ -868,7 +868,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #include <asm/fsl_secure_boot.h>
index c2175bd..373cb2a 100644 (file)
@@ -887,7 +887,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #include <asm/fsl_secure_boot.h>
index 2565887..0ae9eda 100644 (file)
@@ -671,7 +671,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index d2ece40..b3d5957 100644 (file)
@@ -783,7 +783,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_sd_rcw.cfg
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 02fd37d..a426da4 100644 (file)
@@ -755,7 +755,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index faa1111..3150673 100644 (file)
@@ -700,7 +700,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 5d030d1..28476c4 100644 (file)
@@ -501,7 +501,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 8ebfde1..ba725d2 100644 (file)
@@ -699,7 +699,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 
index d9b88fa..d264e1c 100644 (file)
@@ -69,8 +69,6 @@
 /* SHA hashing */
 #define CONFIG_CMD_HASH
 #define CONFIG_HASH_VERIFY
-#define CONFIG_SHA1
-#define CONFIG_SHA256
 
 /* Enable Time Command */
 
index 7535ad5..809e70d 100644 (file)
 #define CONFIG_SF_DEFAULT_MODE         0
 #endif
 
-#define CONFIG_SHA1
-
 /*
  * MMC
  */
index 7e606cd..e92327f 100644 (file)
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 /*
index 5411e5f..f893b2e 100644 (file)
@@ -26,7 +26,6 @@
 
 /* Enable ACE acceleration for SHA1 and SHA256 */
 #define CONFIG_EXYNOS_ACE_SHA
-#define CONFIG_SHA_HW_ACCEL
 
 /* Power Down Modes */
 #define S5P_CHECK_SLEEP                        0x00000BAD
 /* SHA hashing */
 #define CONFIG_CMD_HASH
 #define CONFIG_HASH_VERIFY
-#define CONFIG_SHA1
-#define CONFIG_SHA256
 
 /* Enable Time Command */
 
index 7ffc9d1..17944a9 100644 (file)
 
 #define CONFIG_IMAGE_FORMAT_LEGACY
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA1
-#define CONFIG_SHA256
 
 #endif /* __CONFIG_H */
index f783eac..741bdfa 100644 (file)
 /* FIT */
 #ifdef CONFIG_FIT
 # define CONFIG_HASH_VERIFY
-# define CONFIG_SHA1
-# define CONFIG_SHA256
 # define CONFIG_IMAGE_FORMAT_LEGACY
 #endif
 
index a639468..f52865b 100644 (file)
 /* FIT */
 #ifdef CONFIG_FIT
 # define CONFIG_HASH_VERIFY
-# define CONFIG_SHA1
-# define CONFIG_SHA256
 # define CONFIG_IMAGE_FORMAT_LEGACY
 #endif
 
index 9f66dd3..2e12b97 100644 (file)
 /* FIT */
 #ifdef CONFIG_FIT
 # define CONFIG_HASH_VERIFY
-# define CONFIG_SHA1
-# define CONFIG_SHA256
 # define CONFIG_IMAGE_FORMAT_LEGACY
 #endif
 
index 5ce70ae..76ae159 100644 (file)
 /* FIT */
 #ifdef CONFIG_FIT
 # define CONFIG_HASH_VERIFY
-# define CONFIG_SHA1
-# define CONFIG_SHA256
 # define CONFIG_IMAGE_FORMAT_LEGACY
 #endif
 
index 35d17b9..1b16515 100644 (file)
 #define CONFIG_MISC_INIT_R
 
 /* Hash command with SHA acceleration supported in hardware */
-
 #ifdef CONFIG_FSL_CAAM
-
 #define CONFIG_CMD_HASH
-
-#define CONFIG_SHA_HW_ACCEL
-
 #endif
 
 #include <asm/fsl_secure_boot.h>
index 333bb26..2de0144 100644 (file)
@@ -573,7 +573,6 @@ unsigned long get_board_ddr_clk(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #include <asm/fsl_secure_boot.h>
index 81f38a3..14534ec 100644 (file)
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #include <asm/fsl_secure_boot.h>
index e269248..0522d1e 100644 (file)
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #endif /* __LS1043A_COMMON_H */
index 957ffd3..da1e860 100644 (file)
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #endif /* __LS1046A_COMMON_H */
index 427f623..512eed8 100644 (file)
@@ -233,7 +233,6 @@ unsigned long long get_qixis_addr(void);
 /* Hash command with SHA acceleration supported in hardware */
 #ifdef CONFIG_FSL_CAAM
 #define CONFIG_CMD_HASH
-#define CONFIG_SHA_HW_ACCEL
 #endif
 
 #endif /* __LS2_COMMON_H */
index 37c6132..8ba37fc 100644 (file)
 
 #define CONFIG_CMD_HASH
 #define CONFIG_HASH_VERIFY
-#define CONFIG_SHA1
-#define CONFIG_SHA256
 
 #define CONFIG_CMD_SANDBOX
 
index 800426d..8d380e0 100644 (file)
@@ -30,6 +30,8 @@ struct lmb;
 #define IMAGE_ENABLE_OF_LIBFDT 1
 #define CONFIG_FIT_VERBOSE     1 /* enable fit_format_{error,warning}() */
 #define CONFIG_FIT_ENABLE_SHA256_SUPPORT
+#define CONFIG_SHA1
+#define CONFIG_SHA256
 
 #define IMAGE_ENABLE_IGNORE    0
 #define IMAGE_INDENT_STRING    ""
@@ -65,8 +67,6 @@ struct lmb;
 #  endif
 # else
 #  define CONFIG_CRC32         /* FIT images need CRC32 support */
-#  define CONFIG_SHA1          /* and SHA1 */
-#  define CONFIG_SHA256                /* and SHA256 */
 #  define IMAGE_ENABLE_CRC32   1
 #  define IMAGE_ENABLE_MD5     1
 #  define IMAGE_ENABLE_SHA1    1
@@ -86,7 +86,6 @@ struct lmb;
 
 #if defined(CONFIG_FIT_ENABLE_SHA256_SUPPORT) || \
        defined(CONFIG_SPL_SHA256_SUPPORT)
-#define CONFIG_SHA256
 #define IMAGE_ENABLE_SHA256    1
 #else
 #define IMAGE_ENABLE_SHA256    0
index 23e9f1e..328b4a2 100644 (file)
@@ -44,9 +44,9 @@ obj-$(CONFIG_BITREVERSE) += bitrev.o
 obj-y += list_sort.o
 endif
 
-obj-$(CONFIG_$(SPL_)RSA) += rsa/
-obj-$(CONFIG_$(SPL_)SHA1) += sha1.o
-obj-$(CONFIG_$(SPL_)SHA256) += sha256.o
+obj-$(CONFIG_RSA) += rsa/
+obj-$(CONFIG_SHA1) += sha1.o
+obj-$(CONFIG_SHA256) += sha256.o
 
 obj-$(CONFIG_SPL_SAVEENV) += qsort.o
 obj-$(CONFIG_$(SPL_)OF_LIBFDT) += libfdt/