config EXCHND
	tristate "Exception Handler"
	depends on KALLSYMS && KPROBES && (ARM || X86)
	select STACKTRACE
	help
	  Say Y here to get the exception handler driver. The
	  exception handler catches exceptions, handles them and
	  provides post-mortem data through /dev/exchnd and the
	  error memory.

config EXCHND_SIZE
	hex "Exception handler size"
	depends on EXCHND
	default 0x00100000
	help
	  This value defines the size of the ring buffer used to
	  communicate between kernel and exception handler daemon.
	  The value MUST be a power of 2!

config EXCHND_QUEUE_SIZE
	hex "Exception handler queue size"
	depends on EXCHND
	default 0x8
	help
	  Set this value to set the size of the exception queue. This
	  defines the number of exception which can occur in parallel
	  and are queued without loosing an exception. It shall be power
	  of 2.

config EXCHND_ENABLED_TRIGGERS
	hex "Triggers enabled by default"
	depends on EXCHND
	default 0xFFFF
	help
	  This value defines the triggers that shall be initialized
	  on driver probe. It's used as a mask, one bit per trigger.
	  By default all triggers are enabled.

config EXCHND_DISABLED_MODULES
	hex "Collector modules disabled by default"
	depends on EXCHND
	default 0x300
	help
	  This value defines the modules that shall not be initialized
	  on driver probe neither called during execution. It's used as a mask,
	  one bit per module.
	  By default the following collectors are disabled:
	  - EHM_HIST_SYSCALLS (8) => 0x100
	  - EHM_HIST_TASKSWITCHES (9) => 0x200

config EXCHND_TRIGGER_SET
	hex "Default configuration set for triggers"
	depends on EXCHND
	default 0x5
	help
	 This value defines the configuration set to use by default on driver
	 startup for triggers. The actual default value is 0x5 which corresponds
	 to EC_RBCM. This configuration defines the list of collectors to be
	 called by default during generic event handling. Details on this
	 configuration can be found in exchnd_triggers.c file within the
	 trigger_conf variable. If you don't know what to do, keep the default.

config EXCHND_SIGNAL_SET
	hex "Default configuration set for signals"
	depends on EXCHND
	default 0x6
	help
	 This value defines the configuration set to use by default on driver
	 startup for signals. The actual default value is 0x7 which corresponds
	 to ESC_RBCM_NORESTART. This configuration defines the list of
	 collectors to be called, per signal received, for appllications that
	 are not filtered. Details on this configuration can be found in
	 exchnd_triggers.c file within the signal_conf variable. If you don't
	 know what to do, keep the default.

config EXCHND_PEXIT_SET
	hex "Default configuration set for process exit"
	depends on EXCHND
	default 0x1
	help
	 This value defines the configuration set to use by default on driver
	 startup for process exit. The actual default value is 0x1 which
	 corresponds to EPEC_NO_MODULES. This configuration defines the list of
	 collectors to be called, on process exit, for appllications that are
	 not filtered. Details on this configuration can be found in
	 exchnd_triggers.c file within the pexit_conf variable. If you don't
	 know what to do, keep the default.

config EXCHND_USE_PROFILING
	boolean "Use profiling feature for process exit"
	depends on EXCHND
	default n
	help
	  This configuration allows the exception handler to use the
	  profiling feature provided by the kernel. That simplifies a lot
	  process exit monitoring by avoiding to modify function flow.
	  This option is mandatory for x86 to enable monitoring.

source "drivers/misc/exchnd/exchnd_test/Kconfig"
