rsa: sig: fix config signature check for fit with padding
[oweals/u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index d2eb744e7023431bfeb013dc0c5f7d5618dbdaaa..9a5e60075389a5dc9ee2d53a72ede1b6b17c056b 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -3,11 +3,7 @@
 # see the file Documentation/kbuild/kconfig-language.txt in the
 # Linux kernel source tree.
 #
 # see the file Documentation/kbuild/kconfig-language.txt in the
 # Linux kernel source tree.
 #
-mainmenu "U-Boot $UBOOTVERSION Configuration"
-
-config UBOOTVERSION
-       string
-       option env="UBOOTVERSION"
+mainmenu "U-Boot $(UBOOTVERSION) Configuration"
 
 # Allow defaults in arch-specific code to override any given here
 source "arch/Kconfig"
 
 # Allow defaults in arch-specific code to override any given here
 source "arch/Kconfig"
@@ -88,6 +84,7 @@ config DISTRO_DEFAULTS
        select CMD_PART if PARTITIONS
        select CMD_PING if CMD_NET
        select CMD_PXE if NET
        select CMD_PART if PARTITIONS
        select CMD_PING if CMD_NET
        select CMD_PXE if NET
+       select CMD_SYSBOOT
        select ENV_VARS_UBOOT_CONFIG
        select HUSH_PARSER
        select SUPPORT_RAW_INITRD
        select ENV_VARS_UBOOT_CONFIG
        select HUSH_PARSER
        select SUPPORT_RAW_INITRD
@@ -114,6 +111,7 @@ config ENV_VARS_UBOOT_CONFIG
 
 config NR_DRAM_BANKS
        int "Number of DRAM banks"
 
 config NR_DRAM_BANKS
        int "Number of DRAM banks"
+       default 1 if ARCH_SUNXI || ARCH_OWL
        default 4
        help
          This defines the number of DRAM banks.
        default 4
        help
          This defines the number of DRAM banks.
@@ -146,7 +144,9 @@ config SYS_MALLOC_F_LEN
        default 0x1000 if AM33XX
        default 0x2800 if SANDBOX
        default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \
        default 0x1000 if AM33XX
        default 0x2800 if SANDBOX
        default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \
-                          ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5)
+                          ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \
+                          ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \
+                          ARCH_LS1046A)
        default 0x400
        help
          Before relocation, memory is very limited on many platforms. Still,
        default 0x400
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -156,14 +156,15 @@ config SYS_MALLOC_F_LEN
 
 config SYS_MALLOC_LEN
        hex "Define memory for Dynamic allocation"
 
 config SYS_MALLOC_LEN
        hex "Define memory for Dynamic allocation"
-       depends on ARCH_ZYNQ || ARCH_VERSAL || ARCH_STM32MP
+       depends on ARCH_ZYNQ || ARCH_VERSAL || ARCH_STM32MP || ARCH_ROCKCHIP
+       default 0x2000000 if ARCH_ROCKCHIP
        help
          This defines memory to be allocated for Dynamic allocation
          TODO: Use for other architectures
 
 config SPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in SPL before relocation"
        help
          This defines memory to be allocated for Dynamic allocation
          TODO: Use for other architectures
 
 config SPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in SPL before relocation"
-       depends on SYS_MALLOC_F
+       depends on SYS_MALLOC_F && SPL
        default 0x2800 if RCAR_GEN3
        default SYS_MALLOC_F_LEN
        help
        default 0x2800 if RCAR_GEN3
        default SYS_MALLOC_F_LEN
        help
@@ -174,7 +175,7 @@ config SPL_SYS_MALLOC_F_LEN
 
 config TPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in TPL before relocation"
 
 config TPL_SYS_MALLOC_F_LEN
        hex "Size of malloc() pool in TPL before relocation"
-       depends on SYS_MALLOC_F
+       depends on SYS_MALLOC_F && TPL
        default SYS_MALLOC_F_LEN
        help
          Before relocation, memory is very limited on many platforms. Still,
        default SYS_MALLOC_F_LEN
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -232,12 +233,13 @@ config BUILD_ROM
          This option allows to build a ROM version of U-Boot.
          The build process generally requires several binary blobs
          which are not shipped in the U-Boot source tree.
          This option allows to build a ROM version of U-Boot.
          The build process generally requires several binary blobs
          which are not shipped in the U-Boot source tree.
-         Please, see doc/README.x86 for details.
+         Please, see doc/arch/x86.rst for details.
 
 config SPL_IMAGE
        string "SPL image used in the combined SPL+U-Boot image"
        default "spl/boot.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
        default "spl/u-boot-spl.bin"
 
 config SPL_IMAGE
        string "SPL image used in the combined SPL+U-Boot image"
        default "spl/boot.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
        default "spl/u-boot-spl.bin"
+       depends on SPL
        help
          Select the SPL build target that shall be generated by the SPL
          build process (default spl/u-boot-spl.bin). This image will be
        help
          Select the SPL build target that shall be generated by the SPL
          build process (default spl/u-boot-spl.bin). This image will be
@@ -250,9 +252,11 @@ config BUILD_TARGET
        default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5
        default "u-boot-spl.kwb" if ARCH_MVEBU && SPL
        default "u-boot-elf.srec" if RCAR_GEN3
        default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5
        default "u-boot-spl.kwb" if ARCH_MVEBU && SPL
        default "u-boot-elf.srec" if RCAR_GEN3
-       default "u-boot.itb" if SPL_LOAD_FIT && (ROCKCHIP_RK3399 || ARCH_SUNXI)
+       default "u-boot.itb" if SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
+                               ARCH_SUNXI || RISCV || ARCH_ZYNQMP)
        default "u-boot.kwb" if KIRKWOOD
        default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
        default "u-boot.kwb" if KIRKWOOD
        default "u-boot-with-spl.bin" if ARCH_AT91 && SPL_NAND_SUPPORT
+       default "u-boot-with-spl.imx" if ARCH_MX6 && SPL
        help
          Some SoCs need special image types (e.g. U-Boot binary
          with a special header) as build targets. By defining
        help
          Some SoCs need special image types (e.g. U-Boot binary
          with a special header) as build targets. By defining
@@ -277,6 +281,25 @@ config SYS_LDSCRIPT
          Path within the source tree to the linker script to use for the
          main U-Boot binary.
 
          Path within the source tree to the linker script to use for the
          main U-Boot binary.
 
+config ERR_PTR_OFFSET
+       hex
+       default 0x0
+       help
+         Some U-Boot pointers have redundant information, so we can use a
+         scheme where we can return either an error code or a pointer with the
+         same return value. The default implementation just casts the pointer
+         to a number, however, this may fail on platforms where the end of the
+         address range is used for valid pointers (e.g. 0xffffff00 is a valid
+         heap pointer in socfpga SPL).
+         For such platforms, this value provides an upper range of those error
+         pointer values - up to 'MAX_ERRNO' bytes below this value must be
+         unused/invalid addresses.
+
+config PLATFORM_ELFENTRY
+       string
+       default "__start" if MIPS
+       default "_start"
+
 endmenu                # General setup
 
 menu "Boot images"
 endmenu                # General setup
 
 menu "Boot images"
@@ -333,6 +356,8 @@ config FIT_SIGNATURE
        depends on DM
        select HASH
        select RSA
        depends on DM
        select HASH
        select RSA
+       select RSA_VERIFY
+       select IMAGE_SIGN_INFO
        help
          This option enables signature verification of FIT uImages,
          using a hash signed and verified using RSA. If
        help
          This option enables signature verification of FIT uImages,
          using a hash signed and verified using RSA. If
@@ -364,6 +389,14 @@ config FIT_ENABLE_RSASSA_PSS_SUPPORT
          Enable this to support the pss padding algorithm as described
          in the rfc8017 (https://tools.ietf.org/html/rfc8017).
 
          Enable this to support the pss padding algorithm as described
          in the rfc8017 (https://tools.ietf.org/html/rfc8017).
 
+config FIT_CIPHER
+       bool "Enable ciphering data in a FIT uImages"
+       depends on DM
+       select AES
+       help
+         Enable the feature of data ciphering/unciphering in the tool mkimage
+         and in the u-boot support of the FIT image.
+
 config FIT_VERBOSE
        bool "Show verbose messages when FIT images fail"
        help
 config FIT_VERBOSE
        bool "Show verbose messages when FIT images fail"
        help
@@ -413,6 +446,8 @@ config SPL_FIT_SIGNATURE
        depends on SPL_DM
        select SPL_FIT
        select SPL_RSA
        depends on SPL_DM
        select SPL_FIT
        select SPL_RSA
+       select SPL_RSA_VERIFY
+       select SPL_IMAGE_SIGN_INFO
 
 config SPL_LOAD_FIT
        bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
 
 config SPL_LOAD_FIT
        bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
@@ -425,6 +460,24 @@ config SPL_LOAD_FIT
          particular it can handle selecting from multiple device tree
          and passing the correct one to U-Boot.
 
          particular it can handle selecting from multiple device tree
          and passing the correct one to U-Boot.
 
+config SPL_LOAD_FIT_APPLY_OVERLAY
+       bool "Enable SPL applying DT overlays from FIT"
+       depends on SPL_LOAD_FIT
+       select OF_LIBFDT_OVERLAY
+       help
+         The device tree is loaded from the FIT image. Allow the SPL is to
+         also load device-tree overlays from the FIT image an apply them
+         over the device tree.
+
+config SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ
+       depends on SPL_LOAD_FIT_APPLY_OVERLAY
+       default 0x10000
+       hex "size of temporary buffer used to load the overlays"
+       help
+         The size of the area where the overlays will be loaded and
+         uncompress. Must be at least as large as biggest overlay
+         (uncompressed)
+
 config SPL_LOAD_FIT_FULL
        bool "Enable SPL loading U-Boot as a FIT (full fitImage features)"
        select SPL_FIT
 config SPL_LOAD_FIT_FULL
        bool "Enable SPL loading U-Boot as a FIT (full fitImage features)"
        select SPL_FIT
@@ -463,6 +516,8 @@ config SPL_FIT_GENERATOR
        depends on SPL_FIT
        default "board/sunxi/mksunxi_fit_atf.sh" if SPL_LOAD_FIT && ARCH_SUNXI
        default "arch/arm/mach-rockchip/make_fit_atf.py" if SPL_LOAD_FIT && ARCH_ROCKCHIP
        depends on SPL_FIT
        default "board/sunxi/mksunxi_fit_atf.sh" if SPL_LOAD_FIT && ARCH_SUNXI
        default "arch/arm/mach-rockchip/make_fit_atf.py" if SPL_LOAD_FIT && ARCH_ROCKCHIP
+       default "arch/arm/mach-zynqmp/mkimage_fit_atf.sh" if SPL_LOAD_FIT && ARCH_ZYNQMP
+       default "arch/riscv/lib/mkimage_fit_opensbi.sh" if SPL_LOAD_FIT && RISCV
        help
          Specifies a (platform specific) script file to generate the FIT
          source file used to build the U-Boot FIT image file. This gets
        help
          Specifies a (platform specific) script file to generate the FIT
          source file used to build the U-Boot FIT image file. This gets
@@ -525,9 +580,14 @@ config SYS_EXTRA_OPTIONS
          configuration to Kconfig. Since this option will be removed sometime,
          new boards should not use this option.
 
          configuration to Kconfig. Since this option will be removed sometime,
          new boards should not use this option.
 
-config SYS_TEXT_BASE
+config HAVE_SYS_TEXT_BASE
+       bool
        depends on !NIOS2 && !XTENSA
        depends on !EFI_APP
        depends on !NIOS2 && !XTENSA
        depends on !EFI_APP
+       default y
+
+config SYS_TEXT_BASE
+       depends on HAVE_SYS_TEXT_BASE
        default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3
        default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S
        default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I
        default 0x80800000 if ARCH_OMAP2PLUS || ARCH_K3
        default 0x4a000000 if ARCH_SUNXI && !MACH_SUN9I && !MACH_SUN8I_V3S
        default 0x2a000000 if ARCH_SUNXI && MACH_SUN9I
@@ -536,8 +596,6 @@ config SYS_TEXT_BASE
        help
          The address in memory that U-Boot will be running from, initially.
 
        help
          The address in memory that U-Boot will be running from, initially.
 
-
-
 config SYS_CLK_FREQ
        depends on ARC || ARCH_SUNXI || MPC83xx
        int "CPU clock frequency"
 config SYS_CLK_FREQ
        depends on ARC || ARCH_SUNXI || MPC83xx
        int "CPU clock frequency"