1# SPDX-License-Identifier: GPL-2.0-only 2# 3config RV_MON_EVENTS 4 bool 5 6config RV_MON_MAINTENANCE_EVENTS 7 bool 8 9config DA_MON_EVENTS_IMPLICIT 10 select RV_MON_EVENTS 11 select RV_MON_MAINTENANCE_EVENTS 12 bool 13 14config DA_MON_EVENTS_ID 15 select RV_MON_EVENTS 16 select RV_MON_MAINTENANCE_EVENTS 17 bool 18 19config LTL_MON_EVENTS_ID 20 select RV_MON_EVENTS 21 bool 22 23config RV_LTL_MONITOR 24 bool 25 26config RV_HA_MONITOR 27 bool 28 29config HA_MON_EVENTS_IMPLICIT 30 select DA_MON_EVENTS_IMPLICIT 31 select RV_HA_MONITOR 32 bool 33 34config HA_MON_EVENTS_ID 35 select DA_MON_EVENTS_ID 36 select RV_HA_MONITOR 37 bool 38 39menuconfig RV 40 bool "Runtime Verification" 41 select TRACING 42 help 43 Enable the kernel runtime verification infrastructure. RV is a 44 lightweight (yet rigorous) method that complements classical 45 exhaustive verification techniques (such as model checking and 46 theorem proving). RV works by analyzing the trace of the system's 47 actual execution, comparing it against a formal specification of 48 the system behavior. 49 50 For further information, see: 51 Documentation/trace/rv/runtime-verification.rst 52 53config RV_PER_TASK_MONITORS 54 int "Maximum number of per-task monitor" 55 depends on RV 56 range 1 8 57 default 2 58 help 59 This option configures the maximum number of per-task RV monitors that can run 60 simultaneously. 61 62source "kernel/trace/rv/monitors/wip/Kconfig" 63source "kernel/trace/rv/monitors/wwnr/Kconfig" 64 65source "kernel/trace/rv/monitors/sched/Kconfig" 66source "kernel/trace/rv/monitors/sco/Kconfig" 67source "kernel/trace/rv/monitors/snroc/Kconfig" 68source "kernel/trace/rv/monitors/scpd/Kconfig" 69source "kernel/trace/rv/monitors/snep/Kconfig" 70source "kernel/trace/rv/monitors/sts/Kconfig" 71source "kernel/trace/rv/monitors/nrp/Kconfig" 72source "kernel/trace/rv/monitors/sssw/Kconfig" 73source "kernel/trace/rv/monitors/opid/Kconfig" 74# Add new sched monitors here 75 76source "kernel/trace/rv/monitors/rtapp/Kconfig" 77source "kernel/trace/rv/monitors/pagefault/Kconfig" 78source "kernel/trace/rv/monitors/sleep/Kconfig" 79# Add new rtapp monitors here 80 81source "kernel/trace/rv/monitors/stall/Kconfig" 82# Add new monitors here 83 84config RV_REACTORS 85 bool "Runtime verification reactors" 86 default y 87 depends on RV 88 help 89 Enables the online runtime verification reactors. A runtime 90 monitor can cause a reaction to the detection of an exception 91 on the model's execution. By default, the monitors have 92 tracing reactions, printing the monitor output via tracepoints, 93 but other reactions can be added (on-demand) via this interface. 94 95config RV_REACT_PRINTK 96 bool "Printk reactor" 97 depends on RV_REACTORS 98 default y 99 help 100 Enables the printk reactor. The printk reactor emits a printk() 101 message if an exception is found. 102 103config RV_REACT_PANIC 104 bool "Panic reactor" 105 depends on RV_REACTORS 106 default y 107 help 108 Enables the panic reactor. The panic reactor emits a printk() 109 message if an exception is found and panic()s the system. 110