Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

config CONFIG_C6X
	def_bool y
	select CONFIG_CLKDEV_LOOKUP
	select CONFIG_GENERIC_ATOMIC64
	select CONFIG_GENERIC_IRQ_SHOW
	select CONFIG_HAVE_ARCH_TRACEHOOK
	select CONFIG_HAVE_DMA_API_DEBUG
	select CONFIG_HAVE_MEMBLOCK
	select CONFIG_SPARSE_IRQ
	select CONFIG_IRQ_DOMAIN
	select CONFIG_OF
	select CONFIG_OF_EARLY_FLATTREE
	select CONFIG_GENERIC_CLOCKEVENTS
	select CONFIG_MODULES_USE_ELF_RELA
	select CONFIG_ARCH_NO_COHERENT_DMA_MMAP

config CONFIG_MMU
	def_bool n

config CONFIG_FPU
	def_bool n

config CONFIG_RWSEM_GENERIC_SPINLOCK
	def_bool y

config CONFIG_GENERIC_CALIBRATE_DELAY
	def_bool y

config CONFIG_GENERIC_HWEIGHT
	def_bool y

config CONFIG_GENERIC_BUG
	def_bool y
	depends on CONFIG_BUG

config CONFIG_C6X_BIG_KERNEL
	bool "Build a big kernel"
	help
	  The CONFIG_C6X function call instruction has a limited range of +/- 2MiB.
	  This is sufficient for most kernels, but some kernel configurations
	  with lots of compiled-in functionality may require a larger range
	  for function calls. Use this option to have the compiler generate
	  function calls with 32-bit range. This will make the kernel both
	  larger and slower.

	  If unsure, say N.

source "init/Kconfig"

# Use the generic interrupt handling code in kernel/irq/

source "kernel/Kconfig.freezer"

config CONFIG_CMDLINE_BOOL
	bool "Default bootloader kernel arguments"

config CONFIG_CMDLINE
	string "Kernel command line"
	depends on CONFIG_CMDLINE_BOOL
	default "console=ttyS0,57600"
	help
	  On some architectures there is currently no way for the boot loader
	  to pass arguments to the kernel. For these architectures, you should
	  supply some command-line options at build time by entering them
	  here.

config CONFIG_CMDLINE_FORCE
	bool "Force default kernel command string"
	depends on CONFIG_CMDLINE_BOOL
	default n
	help
	  Set this to have arguments from the default kernel command string
	  override those passed by the boot loader.

config CONFIG_CPU_BIG_ENDIAN
	bool "Build big-endian kernel"
	default n
	help
	  Say Y if you plan on running a kernel in big-endian mode.
	  Note that your board must be properly built and your board
	  port must properly enable any big-endian related features
	  of your chipset/board/processor.

config CONFIG_FORCE_MAX_ZONEORDER
	int "Maximum zone order"
	default "13"
	help
	  The kernel memory allocator divides physically contiguous memory
	  blocks into "zones", where each zone is a power of two number of
	  pages.  This option selects the largest power of two that the kernel
	  keeps in the memory allocator.  If you need to allocate very large
	  blocks of physically contiguous memory, then you may need to
	  increase this value.

	  This config option is actually maximum order plus one. For example,
	  a value of 11 means that the largest free memory block is 2^10 pages.

menu "Processor type and features"

source "arch/c6x/platforms/Kconfig"

config CONFIG_KERNEL_RAM_BASE_ADDRESS
	hex "Virtual address of memory base"
	default 0xe0000000 if CONFIG_SOC_TMS320C6455
	default 0xe0000000 if CONFIG_SOC_TMS320C6457
	default 0xe0000000 if CONFIG_SOC_TMS320C6472
	default 0x80000000

source "mm/Kconfig"

source "kernel/Kconfig.preempt"

source "kernel/Kconfig.hz"

endmenu

menu "Executable file formats"

source "fs/Kconfig.binfmt"

endmenu

source "net/Kconfig"

source "drivers/Kconfig"

source "fs/Kconfig"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

menu "Kernel hacking"

source "lib/Kconfig.debug"

config CONFIG_ACCESS_CHECK
	bool "Check the user pointer address"
	default y
	help
	  Usually the pointer transfer from user space is checked to see if its
	  address is in the kernel space.

	  Say N here to disable that check to improve the performance.

endmenu