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
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
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.
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
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 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
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
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
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 && !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 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.
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
source "api/Kconfig"
+source "boot/Kconfig"
+
source "common/Kconfig"
source "cmd/Kconfig"