| # Kconfig - miscellany configuration options |
| |
| # |
| # Copyright (c) 2014-2015 Wind River Systems, Inc. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| |
| menu "Compile and Link Features" |
| |
| menu "Linker Options" |
| config HAS_FLASH_LOAD_OFFSET |
| bool |
| help |
| This option is selected by targets having a FLASH_LOAD_OFFSET |
| and FLASH_LOAD_SIZE. |
| |
| if !HAS_DTS |
| config FLASH_LOAD_OFFSET |
| hex "Kernel load offset" |
| default 0 |
| depends on HAS_FLASH_LOAD_OFFSET |
| help |
| This option specifies the byte offset from the beginning of flash that |
| the kernel should be loaded into. Changing this value from zero will |
| affect the Zephyr image's link, and will decrease the total amount of |
| flash available for use by application code. |
| |
| If unsure, leave at the default value 0. |
| |
| config FLASH_LOAD_SIZE |
| hex "Kernel load size" |
| default 0 |
| depends on HAS_FLASH_LOAD_OFFSET |
| help |
| If non-zero, this option specifies the size, in bytes, of the flash |
| area that the Zephyr image will be allowed to occupy. If zero, the |
| image will be able to occupy from the FLASH_LOAD_OFFSET to the end of |
| the device. |
| |
| If unsure, leave at the default value 0. |
| endif |
| |
| config TEXT_SECTION_OFFSET |
| hex "TEXT section offset" |
| default 0 |
| help |
| This sets and offset before the text section and allows booting images |
| with custom headers that are inserted at the beginning of the image. |
| |
| config HAVE_CUSTOM_LINKER_SCRIPT |
| prompt "Custom linker scripts provided" |
| def_bool n |
| help |
| Set this option if you have a custom linker script which needed to |
| be define in CUSTOM_LINKER_SCRIPT. |
| |
| config CUSTOM_LINKER_SCRIPT |
| string "Path to custom linker script" |
| default "" |
| depends on HAVE_CUSTOM_LINKER_SCRIPT |
| help |
| Path to the linker script to be used instead of the one define by the |
| board. |
| |
| The linker script must be based on a version provided by Zephyr since |
| the kernel can expect a certain layout/certain regions. |
| |
| This is useful when an application needs to add sections into the |
| linker script and avoid having to change the script provided by |
| Zephyr. |
| |
| config CUSTOM_RODATA_LD |
| bool "Include custom-rodata.ld" |
| default n |
| help |
| Include a customized linker script fragment for inserting additional |
| data and linker directives into the rodata section. |
| |
| config CUSTOM_RWDATA_LD |
| bool "Include custom-rwdata.ld" |
| default n |
| help |
| Include a customized linker script fragment for inserting additional |
| data and linker directives into the data section. |
| |
| config CUSTOM_SECTIONS_LD |
| bool "Include custom-sections.ld" |
| default n |
| help |
| Include a customized linker script fragment for inserting additional |
| arbitrary sections. |
| |
| config LINK_WHOLE_ARCHIVE |
| bool "Allow linking with --whole-archive" |
| default n |
| help |
| This options allows linking external libraries with the |
| --whole-archive option to keep all symbols. |
| |
| endmenu |
| |
| menu "Compiler Options" |
| config CROSS_COMPILE |
| string "Cross-compiler tool prefix" |
| help |
| Same as running 'make CROSS_COMPILE=prefix-' but stored for |
| default make runs in this kernel build directory. You don't |
| need to set this unless you want the configured kernel build |
| directory to select the cross-compiler automatically. |
| |
| config COMPILER_OPT |
| string |
| prompt "Custom compiler options" |
| default "" |
| help |
| This option is a free-form string that is passed to the compiler |
| when building all parts of a project (i.e. kernel). |
| The compiler options specified by this string supplement the |
| predefined set of compiler supplied by the build system, |
| and can be used to change compiler optimization, warning and error |
| messages, and so on. |
| |
| config TOOLCHAIN_VARIANT |
| string "Cross-compiler variant name" |
| help |
| For optimized compilers with reduced features, specify the name |
| of the variant. |
| |
| endmenu |
| |
| config GDB_INFO |
| bool |
| prompt "Task-aware debugging with GDB" |
| default n |
| help |
| This option enables the kernel to collect additional information |
| during interrupts, exceptions, and context switches. This information |
| is required for task-aware debugging with GDB. |
| |
| config KERNEL_BIN_NAME |
| string "The kernel binary name" |
| default "zephyr" |
| help |
| This option sets the name of the generated kernel binary. |
| |
| endmenu |
| |
| menu "System Monitoring Options" |
| |
| config PERFORMANCE_METRICS |
| bool |
| prompt "Enable performance metrics [EXPERIMENTAL]" |
| default n |
| help |
| Enable Performance Metrics. |
| |
| config BOOT_TIME_MEASUREMENT |
| bool |
| prompt "Boot time measurements [EXPERIMENTAL]" |
| default n |
| depends on PERFORMANCE_METRICS |
| help |
| This option enables the recording of timestamps during system start |
| up. The global variable __start_time_stamp records the time kernel begins |
| executing, while __main_time_stamp records when main() begins executing, |
| and __idle_time_stamp records when the CPU becomes idle. All values are |
| recorded in terms of CPU clock cycles since system reset. |
| |
| config CPU_CLOCK_FREQ_MHZ |
| int |
| prompt "CPU Clock Frequency in MHz" |
| default 20 |
| depends on BOOT_TIME_MEASUREMENT |
| help |
| This option specifies the CPU Clock Frequency in MHz in order to |
| convert Intel RDTSC timestamp to microseconds. |
| |
| endmenu |
| |
| menu "Boot Options" |
| |
| config IS_BOOTLOADER |
| bool "Act as a bootloader" |
| default n |
| depends on XIP |
| depends on ARM |
| help |
| This option indicates that Zephyr will act as a bootloader to execute |
| a separate Zephyr image payload. |
| |
| config BOOTLOADER_SRAM_SIZE |
| int "SRAM reserved for when Zephyr acts as a bootloader" |
| default 16 |
| depends on !XIP || IS_BOOTLOADER |
| depends on ARM |
| help |
| This option specifies the amount of SRAM (measure in kB) reserved for |
| when Zephyr is to act as a bootloader. |
| |
| config BOOTLOADER_KEXEC |
| bool |
| prompt "Boot using Linux kexec() system call" |
| depends on X86 |
| default n |
| help |
| This option signifies that Linux boots the kernel using kexec system call |
| and utility. This method is used to boot the kernel over the network. |
| |
| config BOOTLOADER_UNKNOWN |
| bool |
| prompt "Generic boot loader support" |
| default n |
| depends on X86 |
| help |
| This option signifies that the target has a generic bootloader |
| or that it supports multiple ways of booting and it isn't clear |
| at build time which method is to be used. When this option is enabled |
| the board may have to do extra work to ensure a proper startup. |
| |
| config BOOTLOADER_CONTEXT_RESTORE |
| bool |
| prompt "Boot loader has context restore support" |
| default y |
| depends on SYS_POWER_DEEP_SLEEP && BOOTLOADER_CONTEXT_RESTORE_SUPPORTED |
| help |
| This option signifies that the target has a bootloader |
| that restores CPU context upon resuming from deep sleep |
| power state. |
| |
| config REBOOT |
| bool "Reboot functionality" |
| default n |
| select SYSTEM_CLOCK_DISABLE |
| help |
| Enable the sys_reboot() API. Enabling this can drag in other subsystems |
| needed to perform a "safe" reboot (e.g. SYSTEM_CLOCK_DISABLE, to stop the |
| system clock before issuing a reset). |
| endmenu |