X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Kconfig;h=f0179689186774cf98f5089401b8311ff0e3e3a2;hb=12f613cf0e823b278917faf58643383bf309e668;hp=a6c42b902f7d5249179f1c6807f60adbad0bfae3;hpb=ffaa7abfc5e930448a3aadb17e5eb00cabb37b9d;p=platform%2Fkernel%2Fu-boot.git diff --git a/Kconfig b/Kconfig index a6c42b9..f017968 100644 --- a/Kconfig +++ b/Kconfig @@ -72,18 +72,34 @@ config CLANG_VERSION int default $(shell,$(srctree)/scripts/clang-version.sh $(CC)) +choice + prompt "Optimization level" + default CC_OPTIMIZE_FOR_SIZE + config CC_OPTIMIZE_FOR_SIZE bool "Optimize for size" - default y help - Enabling this option will pass "-Os" instead of "-O2" to gcc - resulting in a smaller U-Boot image. + Enabling this option will pass "-Os" to gcc, resulting in a smaller + U-Boot image. This option is enabled by default for U-Boot. +config CC_OPTIMIZE_FOR_SPEED + bool "Optimize for speed" + help + Enabling this option will pass "-O2" to gcc, resulting in a faster + U-Boot image. + +config CC_OPTIMIZE_FOR_DEBUG + bool "Optimize for debugging" + help + Enabling this option will pass "-Og" to gcc, enabling optimizations + which don't interfere with debugging. + +endchoice + config OPTIMIZE_INLINING bool "Allow compiler to uninline functions marked 'inline' in full U-Boot" - default n help This option determines if U-Boot forces gcc to inline the functions developers have marked 'inline'. Doing so takes away freedom from gcc to @@ -93,7 +109,6 @@ config OPTIMIZE_INLINING config SPL_OPTIMIZE_INLINING bool "Allow compiler to uninline functions marked 'inline' in SPL" depends on SPL - default n help This option determines if U-Boot forces gcc to inline the functions developers have marked 'inline'. Doing so takes away freedom from gcc to @@ -106,7 +121,6 @@ config ARCH_SUPPORTS_LTO config LTO bool "Enable Link Time Optimizations" depends on ARCH_SUPPORTS_LTO - default n help This option enables Link Time Optimization (LTO), a mechanism which allows the compiler to optimize between different compilation units. @@ -127,7 +141,6 @@ config LTO config TPL_OPTIMIZE_INLINING bool "Allow compiler to uninline functions marked 'inline' in TPL" depends on TPL - default n help This option determines if U-Boot forces gcc to inline the functions developers have marked 'inline'. Doing so takes away freedom from gcc to @@ -215,6 +228,14 @@ 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 @@ -234,13 +255,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 - default 0x2000 if (ARCH_IMX8 || ARCH_IMX8M || ARCH_MX7 || \ - ARCH_MX7ULP || ARCH_MX6 || ARCH_MX5 || \ - ARCH_LS1012A || ARCH_LS1021A || ARCH_LS1043A || \ - ARCH_LS1046A || ARCH_QEMU || ARCH_SUNXI || ARCH_OWL) - 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 @@ -249,8 +275,13 @@ config SYS_MALLOC_F_LEN config SYS_MALLOC_LEN hex "Define memory for Dynamic allocation" - depends on ARCH_ZYNQ || ARCH_VERSAL || ARCH_STM32MP || ARCH_ROCKCHIP - default 0x2000000 if ARCH_ROCKCHIP + 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 0x400000 help This defines memory to be allocated for Dynamic allocation TODO: Use for other architectures @@ -258,6 +289,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 @@ -279,6 +311,31 @@ config TPL_SYS_MALLOC_F_LEN particular needs this to operate, so that it can allocate the initial serial device and any others that are needed. +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 + in U-Boot. It relies on knowing when heap blocks are allocated in + order to give accurate results. This happens automatically for + standard allocator functions provided by the host OS. However, this + doesn't automatically happen for U-Boot's malloc implementation. + + Enable this option to annotate U-Boot's malloc implementation so that + 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 @@ -307,7 +364,6 @@ if EXPERT config SYS_MALLOC_DEFAULT_TO_INIT bool "Default malloc to init while reserving the memory for it" - default n help It may happen that one needs to move the dynamic allocation from one to another memory range, eg. when moving the malloc @@ -354,6 +410,13 @@ config SPL_IMAGE used to generate a combined image with SPL and main U-Boot proper as one single image. +config REMAKE_ELF + bool "Recreate an ELF image from raw U-Boot binary" + help + Enable this to recreate an ELF image (u-boot.elf) from the raw + U-Boot binary (u-boot.bin), which may already have been statically + relocated and may already have a device-tree appended to it. + config BUILD_TARGET string "Build target special images" default "u-boot-with-spl.sfp" if TARGET_SOCFPGA_ARRIA10 @@ -372,6 +435,23 @@ config BUILD_TARGET special image will be automatically built upon calling make / buildman. +config HAS_BOARD_SIZE_LIMIT + bool "Define a maximum size for the U-Boot image" + default y if RCAR_GEN3 + help + In some cases, we need to enforce a hard limit on how big the U-Boot + image itself can be. + +config BOARD_SIZE_LIMIT + int "Maximum size of the U-Boot image in bytes" + default 1048576 if RCAR_GEN3 + depends on HAS_BOARD_SIZE_LIMIT + help + Maximum size of the U-Boot image. When defined, the build system + checks that the actual size does not exceed it. This does not + include SPL nor TPL, on platforms that use that functionality, they + have a separate option to restict size. + config SYS_CUSTOM_LDSCRIPT bool "Use a custom location for the U-Boot linker script" help @@ -389,6 +469,21 @@ config SYS_LDSCRIPT Path within the source tree to the linker script to use for the main U-Boot binary. +config SYS_LOAD_ADDR + hex "Address in memory to use by default" + default 0x01000000 if ARCH_SOCFPGA + default 0x02000000 if PPC || X86 + default 0x81000000 if MACH_SUNIV + default 0x22000000 if MACH_SUN9I + default 0x42000000 if ARCH_SUNXI + default 0x82000000 if ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3 + default 0x82000000 if ARCH_MX6 && (MX6SL || MX6SLL || MX6SX || MX6UL || MX6ULL) + default 0x12000000 if ARCH_MX6 && !(MX6SL || MX6SLL || MX6SX || MX6UL || MX6ULL) + default 0x80800000 if ARCH_MX7 + default 0x90000000 if FSL_LSCH2 || FSL_LSCH3 + help + Address in memory to use as the default safe load address. + config ERR_PTR_OFFSET hex default 0x0 @@ -418,12 +513,22 @@ 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 default y if TARGET_DEVKIT8000 default y if TARGET_TRICORDER - default n help Enable this to allow support for the on board SRAM. SRAM base address is controlled by CONFIG_SYS_SRAM_BASE. @@ -443,6 +548,12 @@ config SYS_SRAM_SIZE default 0x10000 if TARGET_TRICORDER default 0x0 +config MP + bool "Support for multiprocessor" + help + This provides an option to bringup different processors + in multiprocessor cases. + config EXAMPLES bool "Compile API examples" depends on !SANDBOX @@ -455,6 +566,8 @@ endmenu # General setup source "api/Kconfig" +source "boot/Kconfig" + source "common/Kconfig" source "cmd/Kconfig"