GNU Linux-libre 6.9.2-gnu
[releases.git] / kernel / trace / rv / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 config DA_MON_EVENTS
4         bool
5
6 config DA_MON_EVENTS_IMPLICIT
7         select DA_MON_EVENTS
8         bool
9
10 config DA_MON_EVENTS_ID
11         select DA_MON_EVENTS
12         bool
13
14 menuconfig RV
15         bool "Runtime Verification"
16         depends on TRACING
17         help
18           Enable the kernel runtime verification infrastructure. RV is a
19           lightweight (yet rigorous) method that complements classical
20           exhaustive verification techniques (such as model checking and
21           theorem proving). RV works by analyzing the trace of the system's
22           actual execution, comparing it against a formal specification of
23           the system behavior.
24
25           For further information, see:
26             Documentation/trace/rv/runtime-verification.rst
27
28 config RV_MON_WIP
29         depends on RV
30         depends on PREEMPT_TRACER
31         select DA_MON_EVENTS_IMPLICIT
32         bool "wip monitor"
33         help
34           Enable wip (wakeup in preemptive) sample monitor that illustrates
35           the usage of per-cpu monitors, and one limitation of the
36           preempt_disable/enable events.
37
38           For further information, see:
39             Documentation/trace/rv/monitor_wip.rst
40
41 config RV_MON_WWNR
42         depends on RV
43         select DA_MON_EVENTS_ID
44         bool "wwnr monitor"
45         help
46           Enable wwnr (wakeup while not running) sample monitor, this is a
47           sample monitor that illustrates the usage of per-task monitor.
48           The model is borken on purpose: it serves to test reactors.
49
50           For further information, see:
51             Documentation/trace/rv/monitor_wwnr.rst
52
53 config RV_REACTORS
54         bool "Runtime verification reactors"
55         default y
56         depends on RV
57         help
58           Enables the online runtime verification reactors. A runtime
59           monitor can cause a reaction to the detection of an exception
60           on the model's execution. By default, the monitors have
61           tracing reactions, printing the monitor output via tracepoints,
62           but other reactions can be added (on-demand) via this interface.
63
64 config RV_REACT_PRINTK
65         bool "Printk reactor"
66         depends on RV_REACTORS
67         default y
68         help
69           Enables the printk reactor. The printk reactor emits a printk()
70           message if an exception is found.
71
72 config RV_REACT_PANIC
73         bool "Panic reactor"
74         depends on RV_REACTORS
75         default y
76         help
77           Enables the panic reactor. The panic reactor emits a printk()
78           message if an exception is found and panic()s the system.