Linux Audio

Check our new training course

Loading...
# Intel64-specific X86 subarchitecture options

# Copyright (c) 2019 Intel Corp.
# SPDX-License-Identifier: Apache-2.0

if X86_64

config MAIN_STACK_SIZE
	default 8192

config IDLE_STACK_SIZE
	default 4096

config ISR_STACK_SIZE
	default 16384

config TEST_EXTRA_STACKSIZE
	default 4096

config SYSTEM_WORKQUEUE_STACK_SIZE
	default 8192

config OFFLOAD_WORKQUEUE_STACK_SIZE
	default 8192

config EXCEPTION_STACK_SIZE
	int "Size of the exception stack(s)"
	default 2048
	help
	  The exception stack(s) (one per CPU) are used both for exception
	  processing and early kernel/CPU initialization. They need only
	  support limited call-tree depth and must fit into the low core,
	  so they are typically smaller than the ISR stacks.

config X86_EXCEPTION_STACK_TRACE
	bool
	default y
	depends on EXCEPTION_STACK_TRACE
	depends on NO_OPTIMIZATIONS
	help
	  Internal config to enable runtime stack traces on fatal exceptions.

config SCHED_IPI_VECTOR
	int "IDT vector to use for scheduler IPI"
	default 34
	range 33 255
	depends on SMP

# We should really only have to provide one of the following two values,
# but a bug in the Zephyr SDK for x86 precludes the use of division in
# the assembler. For now, we require that these values be specified manually,
# and we check to be sure they're a valid combination in arch.h. yes, ugh.

config ISR_DEPTH
	int "Maximum IRQ nesting depth"
	default 4
	help
	  The more nesting allowed, the more room is required for IRQ stacks.

config ISR_SUBSTACK_SIZE
	int "Size of ISR substacks"
	default 4096
	help
	  Number of bytes from the ISR stack to reserve for each nested IRQ
	  level. Must be a multiple of 16 to main stack alignment. Note that
	  CONFIG_ISR_SUBSTACK_SIZE * CONFIG_ISR_DEPTH must be equal to
	  CONFIG_ISR_STACK_SIZE.

config X86_STACK_PROTECTION
	bool
	default y if HW_STACK_PROTECTION
	select THREAD_STACK_INFO
	help
	  This option leverages the MMU to cause a system fatal error if the
	  bounds of the current process stack are overflowed. This is done
	  by preceding all stack areas with a 4K guard page.

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

endif # X86_64