Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - ARM core configuration options

#
# Copyright (c) 2015 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#

config CPU_CORTEX
	bool
	# Omit prompt to signify "hidden" option
	default n
	help
	This option signifies the use of a CPU of the Cortex family.

config CPU_CORTEX_M
	bool
	# Omit prompt to signify "hidden" option
	default n
	select CPU_CORTEX
	select ARCH_HAS_CUSTOM_SWAP_TO_MAIN
	select HAS_CMSIS
	select HAS_FLASH_LOAD_OFFSET
	select HAS_DTS
	select ARCH_HAS_STACK_PROTECTION if ARM_CORE_MPU
	select ARCH_HAS_USERSPACE if ARM_CORE_MPU
	help
	This option signifies the use of a CPU of the Cortex-M family.

config CPU_HAS_SYSTICK
	bool
	# Omit prompt to signify "hidden" option
	default n
	help
	This option is enabled when the CPU has systick timer implemented.

config ARM_STACK_PROTECTION
	bool
	default y if HW_STACK_PROTECTION
	select MPU_STACK_GUARD if ARM_CORE_MPU
	help
	This option enables MPU stack guard to cause a system fatal error
	if the bounds of the current process stack are overflowed.

config ARM_USERSPACE
	bool
	default y if USERSPACE
	help
	This option enables APIs to drop a thread's privileges,	supporting
	user-level threads that are protected from each other and from
	crashing the kernel.

menu "Architectue Floating Point Options"
depends on CPU_HAS_FPU

choice
	prompt "Floating point ABI"
	default FP_HARDABI
	depends on FLOAT

config FP_HARDABI
	bool "Floating point Hard ABI"
	depends on FLOAT
	help
	This option selects the Floating point ABI in which hardware floating
	point instructions are generated and uses FPU-specific calling
	conventions

config FP_SOFTABI
	bool "Floating point Soft ABI"
	depends on FLOAT
	help
	This option selects the Floating point ABI in which hardware floating
	point instructions are generated but soft-float calling conventions.

endchoice

endmenu

if CPU_CORTEX_M
source "arch/arm/core/cortex_m/Kconfig"
endif

if CPU_HAS_MPU
source "arch/arm/core/cortex_m/mpu/Kconfig"
endif