Convert CONFIG_FLASH_SPANSION_S29WS_N et al to Kconfig
[platform/kernel/u-boot.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index bdae59e..d29519c 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -154,6 +154,22 @@ config CC_COVERAGE
          Enabling this option will pass "--coverage" to gcc to compile
          and link code instrumented for coverage analysis.
 
+config ASAN
+       bool "Enable AddressSanitizer"
+       depends on SANDBOX
+       help
+         Enables AddressSanitizer to discover out-of-bounds accesses,
+         use-after-free, double-free and memory leaks.
+
+config FUZZ
+       bool "Enable fuzzing"
+       depends on CC_IS_CLANG
+       depends on DM_FUZZING_ENGINE
+       select ASAN
+       help
+         Enables the fuzzing infrastructure to generate fuzzing data and run
+          fuzz tests.
+
 config CC_HAS_ASM_INLINE
        def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)
 
@@ -228,12 +244,38 @@ config SYS_BOOT_GET_CMDLINE
          Enables allocating and saving kernel cmdline in space between
          "bootm_low" and "bootm_low" + BOOTMAPSZ.
 
+config SYS_BARGSIZE
+       int "Size of kernel command line buffer in bytes"
+       depends on SYS_BOOT_GET_CMDLINE
+       default 512
+       help
+         Buffer size for Boot Arguments which are passed to the application
+         (usually a Linux kernel) when it is booted
+
 config SYS_BOOT_GET_KBD
        bool "Enable kernel board information setup"
        help
          Enables allocating and saving a kernel copy of the bd_info in
          space between "bootm_low" and "bootm_low" + BOOTMAPSZ.
 
+config HAS_CUSTOM_SYS_INIT_SP_ADDR
+       bool "Use a custom location for the initial stack pointer address"
+       depends on ARC || (ARM && !INIT_SP_RELATIVE) || MIPS || PPC || RISCV
+       default y if TFABOOT
+       help
+         Typically, we use an initial stack pointer address that is calculated
+         by taking the statically defined CFG_SYS_INIT_RAM_ADDR, adding the
+         statically defined CFG_SYS_INIT_RAM_SIZE and then subtracting the
+         build-time constant of GENERATED_GBL_DATA_SIZE.  On MIPS a different
+         but statica calculation is performed.  However, some platforms will
+         take a different approach.  Say Y here to define the address statically
+         instead.
+
+config CUSTOM_SYS_INIT_SP_ADDR
+       hex "Static location for the initial stack pointer"
+       depends on HAS_CUSTOM_SYS_INIT_SP_ADDR
+       default TEXT_BASE if TFABOOT
+
 config SYS_MALLOC_F
        bool "Enable malloc() pool before relocation"
        default y if DM
@@ -257,9 +299,7 @@ config SYS_MALLOC_F_LEN
        default 0x4000 if SANDBOX || RISCV || ARCH_APPLE || ROCKCHIP_RK3368 || \
                          ROCKCHIP_RK3399
        default 0x8000 if RCAR_GEN3
-       default 0x10000 if ARCH_IMX8 || (ARCH_IMX8M && !IMX8MQ) || \
-                          ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \
-                          ARCH_LS1046A
+       default 0x10000 if ARCH_IMX8 || ARCH_IMX8M
        default 0x2000
        help
          Before relocation, memory is very limited on many platforms. Still,
@@ -272,9 +312,9 @@ config SYS_MALLOC_LEN
        default 0x4000000 if SANDBOX
        default 0x2000000 if ARCH_ROCKCHIP || ARCH_OMAP2PLUS || ARCH_MESON
        default 0x200000 if ARCH_BMIPS || X86
-       default 0x120000 if MACH_SUNIV
-       default 0x220000 if MACH_SUN8I_V3S
-       default 0x4020000 if ARCH_SUNXI
+       default 0x4020000 if SUNXI_MINIMUM_DRAM_MB >= 256
+       default 0x220000 if SUNXI_MINIMUM_DRAM_MB >= 64
+       default 0x120000 if SUNXI_MINIMUM_DRAM_MB >= 32
        default 0x400000
        help
          This defines memory to be allocated for Dynamic allocation
@@ -285,6 +325,7 @@ config SPL_SYS_MALLOC_F_LEN
        depends on SYS_MALLOC_F && SPL
        default 0 if !SPL_FRAMEWORK
        default 0x2800 if RCAR_GEN3
+       default 0x2000 if IMX8MQ
        default SYS_MALLOC_F_LEN
        help
          In SPL memory is very limited on many platforms. Still,
@@ -292,7 +333,7 @@ config SPL_SYS_MALLOC_F_LEN
          particular needs this to operate, so that it can allocate the
          initial serial device and any others that are needed.
 
-         It is possible to enable CONFIG_SYS_SPL_MALLOC_START to start a new
+         It is possible to enable CFG_SYS_SPL_MALLOC_START to start a new
          malloc() region in SDRAM once it is inited.
 
 config TPL_SYS_MALLOC_F_LEN
@@ -307,6 +348,7 @@ config TPL_SYS_MALLOC_F_LEN
 
 config VALGRIND
        bool "Inform valgrind about memory allocations"
+       depends on !RISCV
        help
          Valgrind is an instrumentation framework for building dynamic analysis
          tools. In particular, it may be used to detect memory management bugs
@@ -319,6 +361,16 @@ config VALGRIND
          it can be handled accurately by Valgrind. If you aren't planning on
          using valgrind to debug U-Boot, say 'n'.
 
+config VPL_SYS_MALLOC_F_LEN
+       hex "Size of malloc() pool in VPL before relocation"
+       depends on SYS_MALLOC_F && VPL
+       default SYS_MALLOC_F_LEN
+       help
+         Before relocation, memory is very limited on many platforms. Still,
+         we can provide a small malloc() pool if needed. Driver model in
+         particular needs this to operate, so that it can allocate the
+         initial serial device and any others that are needed.
+
 menuconfig EXPERT
        bool "Configure standard U-Boot features (expert users)"
        default y
@@ -404,7 +456,7 @@ config BUILD_TARGET
        string "Build target special images"
        default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_ARRIA10
        default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_GEN5
-       default "u-boot-spl.kwb" if ARCH_MVEBU && SPL
+       default "u-boot-with-spl.kwb" if ARCH_MVEBU && SPL
        default "u-boot-elf.srec" if RCAR_GEN3
        default "u-boot.itb" if !BINMAN && SPL_LOAD_FIT && (ARCH_ROCKCHIP || \
                                ARCH_SUNXI || RISCV || ARCH_ZYNQMP)
@@ -488,7 +540,7 @@ config PLATFORM_ELFENTRY
 
 config STACK_SIZE
        hex "Define max stack size that can be used by U-Boot"
-       default 0x4000000 if ARCH_VERSAL || ARCH_ZYNQMP
+       default 0x4000000 if ARCH_VERSAL_NET || ARCH_VERSAL || ARCH_ZYNQMP
        default 0x200000 if MICROBLAZE
        default 0x1000000
        help
@@ -531,6 +583,18 @@ config SYS_SRAM_SIZE
        default 0x10000 if TARGET_TRICORDER
        default 0x0
 
+config SYS_MONITOR_LEN
+       int "Maximum size in bytes reserved for U-Boot in memory"
+       default 1048576 if X86
+       default 786432 if ARCH_SUNXI
+       default 0
+       help
+         Size of memory reserved for monitor code, used to determine
+         _at_compile_time_ (!) if the environment is embedded within the
+         U-Boot image, or in a separate flash sector, among other uses where
+         we need to set a maximum size of the U-Boot binary itself that will
+         be loaded.
+
 config MP
        bool "Support for multiprocessor"
        help