config XENO_GENERIC_STACKPOOL
	bool
	default y

config XENO_FASTSYNCH
	bool
	default y

source "kernel/xenomai/nucleus/Kconfig"

menu "Machine"

depends on XENO_OPT_NUCLEUS

config XENO_HW_FPU
	bool "Enable FPU support"
	default y
	help
	The FPU executes instructions from the processor's normal
	instruction stream. It can handle the types of high-precision
	floating-point processing operations commonly found in
	scientific, engineering, and business applications.
	If your target system has no FPU, say NO here; otherwise,
	enabling FPU support when available may greatly improve
	performance. You can obtain more information about the
	Float-Point Unit on the x86 platform at the following URL:
	http://www.intel.com/design/intarch/techinfo/Pentium/fpu.htm

menu "SMI workaround"

config XENO_HW_SMI_DETECT_DISABLE
	bool "Disable SMI detection"
	default n
	help
	SMI are System Management Interrupts, generated by Intel ICH
	(I/O connector hubs) to allow handling of some specific events;
	on systems where they exist, they are the highest priority
	interrupts (even higher priority than NMIs). Common SMI sources
	are power management, legacy devices emulation by BIOS, SMBus
	and TCO watchdog.

	SMI are problematic for Xenomai, because their handling may span
	accross hundreds of microseconds, causing unacceptable interrupt
	latency. Furthermore, their vectors are stored in some ROM,
	and hence may not be altered.

	For this reason, Xenomai contains code to detect chipsets using
	SMIs and optionally activate some workarounds to stop SMIs.

	Enabling this option prevents Xenomai from detecting whether
	your hardware use SMIs. This option is mostly useful if you know
	that your system does not use SMIs and really want to size Xenomai
	modules down. The detection code has no run-time space overhead,
	and a tiny memory footprint (<200 bytes on x86)

config XENO_HW_SMI_DETECT
	bool
	depends on !XENO_HW_SMI_DETECT_DISABLE
	default y

config XENO_HW_SMI_WORKAROUND
	depends on XENO_HW_SMI_DETECT
	bool "Enable SMI workaround"
	default n
	help
	SMI are System Management Interrupts, generated by Intel ICH
	(I/O connector hubs) to allow handling of some specific events;
	on systems where they exist, they are the highest priority
	interrupts (even higher priority than NMIs). Common SMI sources
	are power management, legacy devices emulation by BIOS, SMBus
	and TCO watchdog.

	SMI are problematic for Xenomai, because their handling may span
	accross hundreds of microseconds, causing unacceptable interrupt
	latency. Furthermore, their vectors are stored in some ROM,
	and hence may not be altered.

	For this reason, Xenomai contains code to detect chipsets using
	SMIs and optionally activate some workarounds to stop SMIs.
	Enabling this option cause those workarounds to be activated.

if XENO_HW_SMI_WORKAROUND

config XENO_HW_SMI_ALL
	bool "Globally disable SMI"
	default y
	help
	This option causes the SMIs to be globally disabled, which avoid
	any jitter they could cause with a big drawback: any peripheral or
	feature relying on them will stop working when Xenomai is running.

	The alternative is to selectively enable the SMIs sources needed
	by your peripherals. The main drawback is that the peripheral
	which you need may be the one causing jitter, so that extensive
	testing is needed when choosing to not disable SMI globally.
	Another drawback is that other unknown SMI sources may exist which
	Xenomai can not disable.

	This option causes the SMIs to be globally disabled.

config XENO_HW_SMI_INTEL_USB2
	bool "Enable Intel-Specific USB2 SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables Intel-specific USB2 SMI logic to cause SMIs.

config XENO_HW_SMI_LEGACY_USB2
	bool "Enable legacy USB2 SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables legacy USB2 logic to cause SMIs.

config XENO_HW_SMI_PERIODIC
	bool "Enable periodic SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables the ICH to generate a periodic SMI.

config XENO_HW_SMI_TCO
	bool "Enable TCO SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables the TCO logic to generate SMIs.

config XENO_HW_SMI_MC
	bool "Enable microcontroller SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables the ICH to trap access to the
	microcontroller range.

config XENO_HW_SMI_APMC
	bool "Enable APM SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables writes to the APM control register to
	cause SMIs.

config XENO_HW_SMI_LEGACY_USB
	bool "Enable legacy USB SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables legacy USB circuit to cause SMIs.

config XENO_HW_SMI_BIOS
	bool "Enable ACPI BIOS SMI"
	depends on !XENO_HW_SMI_ALL
	default n
	help
	This options enables SMI to be used for communication
	between ACPI software and BIOS software.

endif

endmenu

endmenu

source "kernel/xenomai/skins/Kconfig"
source "drivers/xenomai/Kconfig"
