]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - include/linux/tracepoint-defs.h
Merge tag 'x86-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git...
[mirror_ubuntu-jammy-kernel.git] / include / linux / tracepoint-defs.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
bd2a634d
AK
2#ifndef TRACEPOINT_DEFS_H
3#define TRACEPOINT_DEFS_H 1
4
5/*
6 * File can be included directly by headers who only want to access
20f6e03a
VB
7 * tracepoint->key to guard out of line trace calls, or the definition of
8 * trace_print_flags{_u64}. Otherwise linux/tracepoint.h should be used.
bd2a634d
AK
9 */
10
11#include <linux/atomic.h>
12#include <linux/static_key.h>
13
20f6e03a
VB
14struct trace_print_flags {
15 unsigned long mask;
16 const char *name;
17};
18
19struct trace_print_flags_u64 {
20 unsigned long long mask;
21 const char *name;
22};
23
bd2a634d
AK
24struct tracepoint_func {
25 void *func;
26 void *data;
27 int prio;
28};
29
30struct tracepoint {
31 const char *name; /* Tracepoint name */
32 struct static_key key;
8cf868af 33 int (*regfunc)(void);
bd2a634d
AK
34 void (*unregfunc)(void);
35 struct tracepoint_func __rcu *funcs;
36};
37
9c0be3f6
MD
38#ifdef CONFIG_HAVE_ARCH_PREL32_RELOCATIONS
39typedef const int tracepoint_ptr_t;
40#else
41typedef struct tracepoint * const tracepoint_ptr_t;
42#endif
43
c4f6699d
AS
44struct bpf_raw_event_map {
45 struct tracepoint *tp;
46 void *bpf_func;
47 u32 num_args;
9df1c28b 48 u32 writable_size;
c4f6699d
AS
49} __aligned(32);
50
bd2a634d 51#endif