xref: /linux/kernel/trace/rv/Kconfig (revision e88043c0ac16f19960048372dcffc6df7c05c5b8)
1102227b9SDaniel Bristot de Oliveira# SPDX-License-Identifier: GPL-2.0-only
2102227b9SDaniel Bristot de Oliveira#
379257534SDaniel Bristot de Oliveiraconfig DA_MON_EVENTS
479257534SDaniel Bristot de Oliveira	bool
579257534SDaniel Bristot de Oliveira
679257534SDaniel Bristot de Oliveiraconfig DA_MON_EVENTS_IMPLICIT
779257534SDaniel Bristot de Oliveira	select DA_MON_EVENTS
879257534SDaniel Bristot de Oliveira	bool
979257534SDaniel Bristot de Oliveira
1079257534SDaniel Bristot de Oliveiraconfig DA_MON_EVENTS_ID
1179257534SDaniel Bristot de Oliveira	select DA_MON_EVENTS
1279257534SDaniel Bristot de Oliveira	bool
1379257534SDaniel Bristot de Oliveira
14102227b9SDaniel Bristot de Oliveiramenuconfig RV
15102227b9SDaniel Bristot de Oliveira	bool "Runtime Verification"
16102227b9SDaniel Bristot de Oliveira	depends on TRACING
17102227b9SDaniel Bristot de Oliveira	help
18102227b9SDaniel Bristot de Oliveira	  Enable the kernel runtime verification infrastructure. RV is a
19102227b9SDaniel Bristot de Oliveira	  lightweight (yet rigorous) method that complements classical
20102227b9SDaniel Bristot de Oliveira	  exhaustive verification techniques (such as model checking and
21102227b9SDaniel Bristot de Oliveira	  theorem proving). RV works by analyzing the trace of the system's
22102227b9SDaniel Bristot de Oliveira	  actual execution, comparing it against a formal specification of
23102227b9SDaniel Bristot de Oliveira	  the system behavior.
2404acadcbSDaniel Bristot de Oliveira
25ff0aaf67SDaniel Bristot de Oliveira	  For further information, see:
26ff0aaf67SDaniel Bristot de Oliveira	    Documentation/trace/rv/runtime-verification.rst
27ff0aaf67SDaniel Bristot de Oliveira
2810bde81cSDaniel Bristot de Oliveiraconfig RV_MON_WIP
2910bde81cSDaniel Bristot de Oliveira	depends on RV
3010bde81cSDaniel Bristot de Oliveira	depends on PREEMPT_TRACER
3110bde81cSDaniel Bristot de Oliveira	select DA_MON_EVENTS_IMPLICIT
3210bde81cSDaniel Bristot de Oliveira	bool "wip monitor"
3310bde81cSDaniel Bristot de Oliveira	help
3410bde81cSDaniel Bristot de Oliveira	  Enable wip (wakeup in preemptive) sample monitor that illustrates
3510bde81cSDaniel Bristot de Oliveira	  the usage of per-cpu monitors, and one limitation of the
3610bde81cSDaniel Bristot de Oliveira	  preempt_disable/enable events.
3710bde81cSDaniel Bristot de Oliveira
3810bde81cSDaniel Bristot de Oliveira	  For further information, see:
3910bde81cSDaniel Bristot de Oliveira	    Documentation/trace/rv/monitor_wip.rst
4010bde81cSDaniel Bristot de Oliveira
41ccc319dcSDaniel Bristot de Oliveiraconfig RV_MON_WWNR
42ccc319dcSDaniel Bristot de Oliveira	depends on RV
43ccc319dcSDaniel Bristot de Oliveira	select DA_MON_EVENTS_ID
44ccc319dcSDaniel Bristot de Oliveira	bool "wwnr monitor"
45ccc319dcSDaniel Bristot de Oliveira	help
46ccc319dcSDaniel Bristot de Oliveira	  Enable wwnr (wakeup while not running) sample monitor, this is a
47ccc319dcSDaniel Bristot de Oliveira	  sample monitor that illustrates the usage of per-task monitor.
48ccc319dcSDaniel Bristot de Oliveira	  The model is borken on purpose: it serves to test reactors.
49ccc319dcSDaniel Bristot de Oliveira
50ccc319dcSDaniel Bristot de Oliveira	  For further information, see:
51ccc319dcSDaniel Bristot de Oliveira	    Documentation/trace/rv/monitor_wwnr.rst
52ccc319dcSDaniel Bristot de Oliveira
5304acadcbSDaniel Bristot de Oliveiraconfig RV_REACTORS
5404acadcbSDaniel Bristot de Oliveira	bool "Runtime verification reactors"
5504acadcbSDaniel Bristot de Oliveira	default y
5604acadcbSDaniel Bristot de Oliveira	depends on RV
5704acadcbSDaniel Bristot de Oliveira	help
5804acadcbSDaniel Bristot de Oliveira	  Enables the online runtime verification reactors. A runtime
5904acadcbSDaniel Bristot de Oliveira	  monitor can cause a reaction to the detection of an exception
6004acadcbSDaniel Bristot de Oliveira	  on the model's execution. By default, the monitors have
6104acadcbSDaniel Bristot de Oliveira	  tracing reactions, printing the monitor output via tracepoints,
6204acadcbSDaniel Bristot de Oliveira	  but other reactions can be added (on-demand) via this interface.
63135b881eSDaniel Bristot de Oliveira
64135b881eSDaniel Bristot de Oliveiraconfig RV_REACT_PRINTK
65135b881eSDaniel Bristot de Oliveira	bool "Printk reactor"
66135b881eSDaniel Bristot de Oliveira	depends on RV_REACTORS
67135b881eSDaniel Bristot de Oliveira	default y
68135b881eSDaniel Bristot de Oliveira	help
69135b881eSDaniel Bristot de Oliveira	  Enables the printk reactor. The printk reactor emits a printk()
70135b881eSDaniel Bristot de Oliveira	  message if an exception is found.
71*e88043c0SDaniel Bristot de Oliveira
72*e88043c0SDaniel Bristot de Oliveiraconfig RV_REACT_PANIC
73*e88043c0SDaniel Bristot de Oliveira	bool "Panic reactor"
74*e88043c0SDaniel Bristot de Oliveira	depends on RV_REACTORS
75*e88043c0SDaniel Bristot de Oliveira	default y
76*e88043c0SDaniel Bristot de Oliveira	help
77*e88043c0SDaniel Bristot de Oliveira	  Enables the panic reactor. The panic reactor emits a printk()
78*e88043c0SDaniel Bristot de Oliveira	  message if an exception is found and panic()s the system.
79