aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/verification/rv/include/trace.h
diff options
context:
space:
mode:
authorDaniel Bristot de Oliveira <bristot@kernel.org>2022-11-11 16:53:05 +0100
committerSteven Rostedt (Google) <rostedt@goodmis.org>2022-12-09 18:06:24 -0500
commit4bc4b131d44c8ead00130fae678ff6c3417d7e13 (patch)
tree40056bc80c2cbe821e1d81dbbabdcc4d447f89f6 /tools/verification/rv/include/trace.h
parentrtla: Fix exit status when returning from calls to usage() (diff)
downloadwireguard-linux-4bc4b131d44c8ead00130fae678ff6c3417d7e13.tar.xz
wireguard-linux-4bc4b131d44c8ead00130fae678ff6c3417d7e13.zip
rv: Add rv tool
This is the (user-space) runtime verification tool, named rv. This tool aims to be the interface for in-kernel rv monitors, as well as the home for monitors in user-space (online asynchronous), and in *eBPF. The tool receives a command as the first argument, the current commands are: list - list all available monitors mon - run a given monitor Each monitor is an independent piece of software inside the tool and can have their own arguments. There is no monitor implemented in this patch, it only adds the basic structure of the tool, based on rtla. # rv --help rv version 6.1.0-rc4: help usage: rv command [-h] [command_options] -h/--help: print this menu command: run one of the following command: list: list all available monitors mon: run a monitor [command options]: each command has its own set of options run rv command -h for further information *dot2bpf is the next patch set, depends on this, doing cleanups. Link: https://lkml.kernel.org/r/fb51184f3b95aea0d7bfdc33ec09f4153aee84fa.1668180100.git.bristot@kernel.org Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Diffstat (limited to 'tools/verification/rv/include/trace.h')
-rw-r--r--tools/verification/rv/include/trace.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/verification/rv/include/trace.h b/tools/verification/rv/include/trace.h
new file mode 100644
index 000000000000..8d89e8c303fa
--- /dev/null
+++ b/tools/verification/rv/include/trace.h
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <tracefs.h>
+
+struct trace_instance {
+ struct tracefs_instance *inst;
+ struct tep_handle *tep;
+ struct trace_seq *seq;
+};
+
+int trace_instance_init(struct trace_instance *trace, char *name);
+int trace_instance_start(struct trace_instance *trace);
+void trace_instance_destroy(struct trace_instance *trace);
+
+int collect_registered_events(struct tep_event *event, struct tep_record *record,
+ int cpu, void *context);