diff options
Diffstat (limited to 'kernel/trace/rv/rv.h')
| -rw-r--r-- | kernel/trace/rv/rv.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/kernel/trace/rv/rv.h b/kernel/trace/rv/rv.h new file mode 100644 index 000000000000..2c0f51ff9d5c --- /dev/null +++ b/kernel/trace/rv/rv.h @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#include <linux/mutex.h> + +struct rv_interface { + struct dentry *root_dir; + struct dentry *monitors_dir; +}; + +#include "../trace.h" +#include <linux/tracefs.h> +#include <linux/rv.h> + +#define RV_MODE_WRITE TRACE_MODE_WRITE +#define RV_MODE_READ TRACE_MODE_READ + +#define rv_create_dir tracefs_create_dir +#define rv_create_file tracefs_create_file +#define rv_remove tracefs_remove + +DEFINE_FREE(rv_remove, struct dentry *, if (_T) rv_remove(_T)); + +#define MAX_RV_MONITOR_NAME_SIZE 32 +#define MAX_RV_REACTOR_NAME_SIZE 32 + +extern struct mutex rv_interface_lock; +extern struct list_head rv_monitors_list; + +struct dentry *get_monitors_root(void); +int rv_disable_monitor(struct rv_monitor *mon); +int rv_enable_monitor(struct rv_monitor *mon); +bool rv_is_container_monitor(struct rv_monitor *mon); +bool rv_is_nested_monitor(struct rv_monitor *mon); + +#ifdef CONFIG_RV_REACTORS +int reactor_populate_monitor(struct rv_monitor *mon, struct dentry *root); +int init_rv_reactors(struct dentry *root_dir); +#else +static inline int reactor_populate_monitor(struct rv_monitor *mon, struct dentry *root) +{ + return 0; +} + +static inline int init_rv_reactors(struct dentry *root_dir) +{ + return 0; +} +#endif |
