X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Kconfig;h=991b260182e8960c9ed4f560ee7993f2d489b739;hb=a331017c237c7da159a1657984250d656ed1c487;hp=b45e60a75b93514ad37bed6c3efb4716755e18bb;hpb=46d940ce716ccf1e07469a7ad77be4a9ecc4d349;p=platform%2Fkernel%2Fu-boot.git diff --git a/Kconfig b/Kconfig index b45e60a..991b260 100644 --- 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 CONFIG_SYS_INIT_RAM_ADDR, adding the + statically defined CONFIG_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 SYS_TEXT_BASE if TFABOOT + config SYS_MALLOC_F bool "Enable malloc() pool before relocation" default y if DM @@ -247,14 +289,18 @@ config SYS_MALLOC_F config SYS_MALLOC_F_LEN hex "Size of malloc() pool before relocation" depends on SYS_MALLOC_F - default 0x1000 if AM33XX - default 0x4000 if SANDBOX || RISCV - default 0x2000 if (ARCH_MX7 || ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \ - ARCH_QEMU || ARCH_SUNXI || ARCH_OWL || IMX8MQ) - default 0x10000 if (ARCH_IMX8 || (ARCH_IMX8M && !IMX8MQ) || \ - ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \ - ARCH_LS1046A) - default 0x400 + default 0x400 if M68K || PPC || ROCKCHIP_PX30 || ROCKCHIP_RK3036 || \ + ROCKCHIP_RK3308 || ROCKCHIP_RV1108 + default 0x600 if ARCH_ZYNQMP_R5 || ARCH_ZYNQMP + default 0x800 if ARCH_ZYNQ || ROCKCHIP_RK3128 || ROCKCHIP_RK3188 || \ + ROCKCHIP_RK322X || X86 + default 0x1000 if ARCH_MESON || ARCH_BMIPS || ARCH_MTMIPS + default 0x1800 if ARCH_TEGRA + default 0x4000 if SANDBOX || RISCV || ARCH_APPLE || ROCKCHIP_RK3368 || \ + ROCKCHIP_RK3399 + default 0x8000 if RCAR_GEN3 + default 0x10000 if ARCH_IMX8 || (ARCH_IMX8M && !IMX8MQ) + default 0x2000 help Before relocation, memory is very limited on many platforms. Still, we can provide a small malloc() pool if needed. Driver model in @@ -277,6 +323,7 @@ config SYS_MALLOC_LEN config SPL_SYS_MALLOC_F_LEN hex "Size of malloc() pool in SPL" depends on SYS_MALLOC_F && SPL + default 0 if !SPL_FRAMEWORK default 0x2800 if RCAR_GEN3 default SYS_MALLOC_F_LEN help @@ -300,6 +347,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 @@ -312,6 +360,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 @@ -489,6 +547,17 @@ config STACK_SIZE by the UEFI sub-system. On some boards initrd_high is calculated as base stack pointer minus this stack size. +config SYS_MEM_TOP_HIDE + hex "Exclude some memory from U-Boot / OS information" + default 0x0 + help + If set, this specified memory area will get subtracted from the top + (end) of RAM and won't get "touched" at all by U-Boot. By fixing up + gd->ram_size the OS / next stage should gets passed the now + "corrected" memory size and won't touch it either. + WARNING: Please make sure that this value is a multiple of the OS + page size. + config SYS_HAS_SRAM bool default y if TARGET_PIC32MZDASK