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" 82source "kernel/trace/rv/monitors/deadline/Kconfig" 83source "kernel/trace/rv/monitors/nomiss/Kconfig" 84# Add new deadline monitors here 85 86# Add new monitors here 87 88config RV_REACTORS 89 bool "Runtime verification reactors" 90 default y 91 depends on RV 92 help 93 Enables the online runtime verification reactors. A runtime 94 monitor can cause a reaction to the detection of an exception 95 on the model's execution. By default, the monitors have 96 tracing reactions, printing the monitor output via tracepoints, 97 but other reactions can be added (on-demand) via this interface. 98 99config RV_REACT_PRINTK 100 bool "Printk reactor" 101 depends on RV_REACTORS 102 default y 103 help 104 Enables the printk reactor. The printk reactor emits a printk() 105 message if an exception is found. 106 107config RV_REACT_PANIC 108 bool "Panic reactor" 109 depends on RV_REACTORS 110 default y 111 help 112 Enables the panic reactor. The panic reactor emits a printk() 113 message if an exception is found and panic()s the system. 114