xref: /linux/kernel/trace/rv/Kconfig (revision 9d475d80c93735f0f336b34a8e2c22beea6145ab)
1102227b9SDaniel Bristot de Oliveira# SPDX-License-Identifier: GPL-2.0-only
2102227b9SDaniel Bristot de Oliveira#
3c94d27c0SNam Caoconfig RV_MON_EVENTS
479257534SDaniel Bristot de Oliveira	bool
579257534SDaniel Bristot de Oliveira
6*9d475d80SGabriele Monacoconfig RV_MON_MAINTENANCE_EVENTS
7*9d475d80SGabriele Monaco	bool
8*9d475d80SGabriele Monaco
979257534SDaniel Bristot de Oliveiraconfig DA_MON_EVENTS_IMPLICIT
10c94d27c0SNam Cao	select RV_MON_EVENTS
11*9d475d80SGabriele Monaco	select RV_MON_MAINTENANCE_EVENTS
1279257534SDaniel Bristot de Oliveira	bool
1379257534SDaniel Bristot de Oliveira
1479257534SDaniel Bristot de Oliveiraconfig DA_MON_EVENTS_ID
15c94d27c0SNam Cao	select RV_MON_EVENTS
16*9d475d80SGabriele Monaco	select RV_MON_MAINTENANCE_EVENTS
1779257534SDaniel Bristot de Oliveira	bool
1879257534SDaniel Bristot de Oliveira
19a9769a5bSNam Caoconfig LTL_MON_EVENTS_ID
20a9769a5bSNam Cao	select RV_MON_EVENTS
21a9769a5bSNam Cao	bool
22a9769a5bSNam Cao
23a9769a5bSNam Caoconfig RV_LTL_MONITOR
24a9769a5bSNam Cao	bool
25a9769a5bSNam Cao
26102227b9SDaniel Bristot de Oliveiramenuconfig RV
27102227b9SDaniel Bristot de Oliveira	bool "Runtime Verification"
28f74f8bb2SNam Cao	select TRACING
29102227b9SDaniel Bristot de Oliveira	help
30102227b9SDaniel Bristot de Oliveira	  Enable the kernel runtime verification infrastructure. RV is a
31102227b9SDaniel Bristot de Oliveira	  lightweight (yet rigorous) method that complements classical
32102227b9SDaniel Bristot de Oliveira	  exhaustive verification techniques (such as model checking and
33102227b9SDaniel Bristot de Oliveira	  theorem proving). RV works by analyzing the trace of the system's
34102227b9SDaniel Bristot de Oliveira	  actual execution, comparing it against a formal specification of
35102227b9SDaniel Bristot de Oliveira	  the system behavior.
3604acadcbSDaniel Bristot de Oliveira
37ff0aaf67SDaniel Bristot de Oliveira	  For further information, see:
38ff0aaf67SDaniel Bristot de Oliveira	    Documentation/trace/rv/runtime-verification.rst
39ff0aaf67SDaniel Bristot de Oliveira
40fac54932SNam Caoconfig RV_PER_TASK_MONITORS
41fac54932SNam Cao	int "Maximum number of per-task monitor"
42fac54932SNam Cao	depends on RV
43fac54932SNam Cao	range 1 8
44fac54932SNam Cao	default 2
45fac54932SNam Cao	help
46fac54932SNam Cao	  This option configures the maximum number of per-task RV monitors that can run
47fac54932SNam Cao	  simultaneously.
48fac54932SNam Cao
49bc3d482dSGabriele Monacosource "kernel/trace/rv/monitors/wip/Kconfig"
50bc3d482dSGabriele Monacosource "kernel/trace/rv/monitors/wwnr/Kconfig"
51560473f2SGabriele Monaco
52cb85c660SGabriele Monacosource "kernel/trace/rv/monitors/sched/Kconfig"
539fd420abSGabriele Monacosource "kernel/trace/rv/monitors/tss/Kconfig"
549fd420abSGabriele Monacosource "kernel/trace/rv/monitors/sco/Kconfig"
5593bac9cfSGabriele Monacosource "kernel/trace/rv/monitors/snroc/Kconfig"
56fbe6c09bSGabriele Monacosource "kernel/trace/rv/monitors/scpd/Kconfig"
57fbe6c09bSGabriele Monacosource "kernel/trace/rv/monitors/snep/Kconfig"
58fbe6c09bSGabriele Monacosource "kernel/trace/rv/monitors/sncid/Kconfig"
59560473f2SGabriele Monaco# Add new sched monitors here
60560473f2SGabriele Monaco
61886fc86eSNam Caosource "kernel/trace/rv/monitors/rtapp/Kconfig"
629162620eSNam Caosource "kernel/trace/rv/monitors/pagefault/Kconfig"
63f74f8bb2SNam Caosource "kernel/trace/rv/monitors/sleep/Kconfig"
64560473f2SGabriele Monaco# Add new rtapp monitors here
65560473f2SGabriele Monaco
66de6f45c2SGabriele Monaco# Add new monitors here
67ccc319dcSDaniel Bristot de Oliveira
6804acadcbSDaniel Bristot de Oliveiraconfig RV_REACTORS
6904acadcbSDaniel Bristot de Oliveira	bool "Runtime verification reactors"
7004acadcbSDaniel Bristot de Oliveira	default y
7104acadcbSDaniel Bristot de Oliveira	depends on RV
7204acadcbSDaniel Bristot de Oliveira	help
7304acadcbSDaniel Bristot de Oliveira	  Enables the online runtime verification reactors. A runtime
7404acadcbSDaniel Bristot de Oliveira	  monitor can cause a reaction to the detection of an exception
7504acadcbSDaniel Bristot de Oliveira	  on the model's execution. By default, the monitors have
7604acadcbSDaniel Bristot de Oliveira	  tracing reactions, printing the monitor output via tracepoints,
7704acadcbSDaniel Bristot de Oliveira	  but other reactions can be added (on-demand) via this interface.
78135b881eSDaniel Bristot de Oliveira
79135b881eSDaniel Bristot de Oliveiraconfig RV_REACT_PRINTK
80135b881eSDaniel Bristot de Oliveira	bool "Printk reactor"
81135b881eSDaniel Bristot de Oliveira	depends on RV_REACTORS
82135b881eSDaniel Bristot de Oliveira	default y
83135b881eSDaniel Bristot de Oliveira	help
84135b881eSDaniel Bristot de Oliveira	  Enables the printk reactor. The printk reactor emits a printk()
85135b881eSDaniel Bristot de Oliveira	  message if an exception is found.
86e88043c0SDaniel Bristot de Oliveira
87e88043c0SDaniel Bristot de Oliveiraconfig RV_REACT_PANIC
88e88043c0SDaniel Bristot de Oliveira	bool "Panic reactor"
89e88043c0SDaniel Bristot de Oliveira	depends on RV_REACTORS
90e88043c0SDaniel Bristot de Oliveira	default y
91e88043c0SDaniel Bristot de Oliveira	help
92e88043c0SDaniel Bristot de Oliveira	  Enables the panic reactor. The panic reactor emits a printk()
93e88043c0SDaniel Bristot de Oliveira	  message if an exception is found and panic()s the system.
94