xref: /linux/tools/perf/util/aslr.h (revision 00599d4841790d05401820a96cf7edb193888b00)
1febea9ecSIan Rogers /* SPDX-License-Identifier: GPL-2.0 */
2febea9ecSIan Rogers #ifndef __PERF_ASLR_H
3febea9ecSIan Rogers #define __PERF_ASLR_H
4febea9ecSIan Rogers 
5febea9ecSIan Rogers #include <linux/perf_event.h>
6febea9ecSIan Rogers 
7febea9ecSIan Rogers #define ASLR_SUPPORTED_SAMPLE_TYPE ( \
8febea9ecSIan Rogers 	PERF_SAMPLE_IDENTIFIER | \
9febea9ecSIan Rogers 	PERF_SAMPLE_IP | \
10febea9ecSIan Rogers 	PERF_SAMPLE_TID | \
11febea9ecSIan Rogers 	PERF_SAMPLE_TIME | \
12febea9ecSIan Rogers 	PERF_SAMPLE_ADDR | \
13febea9ecSIan Rogers 	PERF_SAMPLE_ID | \
14febea9ecSIan Rogers 	PERF_SAMPLE_STREAM_ID | \
15febea9ecSIan Rogers 	PERF_SAMPLE_CPU | \
16febea9ecSIan Rogers 	PERF_SAMPLE_PERIOD | \
17febea9ecSIan Rogers 	PERF_SAMPLE_READ | \
18febea9ecSIan Rogers 	PERF_SAMPLE_CALLCHAIN | \
19febea9ecSIan Rogers 	PERF_SAMPLE_RAW | \
20febea9ecSIan Rogers 	PERF_SAMPLE_BRANCH_STACK | \
21febea9ecSIan Rogers 	PERF_SAMPLE_STACK_USER | \
22febea9ecSIan Rogers 	PERF_SAMPLE_WEIGHT_TYPE | \
23febea9ecSIan Rogers 	PERF_SAMPLE_DATA_SRC | \
24febea9ecSIan Rogers 	PERF_SAMPLE_TRANSACTION | \
25febea9ecSIan Rogers 	PERF_SAMPLE_PHYS_ADDR | \
26febea9ecSIan Rogers 	PERF_SAMPLE_CGROUP | \
27febea9ecSIan Rogers 	PERF_SAMPLE_DATA_PAGE_SIZE | \
28febea9ecSIan Rogers 	PERF_SAMPLE_CODE_PAGE_SIZE | \
29febea9ecSIan Rogers 	PERF_SAMPLE_AUX)
30febea9ecSIan Rogers 
31febea9ecSIan Rogers struct perf_tool;
32febea9ecSIan Rogers struct evsel;
33febea9ecSIan Rogers struct evlist;
34febea9ecSIan Rogers union perf_event;
35febea9ecSIan Rogers 
36febea9ecSIan Rogers struct perf_tool *aslr_tool__new(struct perf_tool *delegate);
37*d6dbf2d4SIan Rogers void aslr_tool__delete(struct perf_tool *tool);
38*d6dbf2d4SIan Rogers 
39*d6dbf2d4SIan Rogers void aslr_tool__strip_attr_event(union perf_event *event, struct evlist *evlist);
40*d6dbf2d4SIan Rogers int aslr_tool__cache_orig_attrs(struct perf_tool *tool, struct evsel *evsel);
41*d6dbf2d4SIan Rogers void aslr_tool__strip_evlist(const struct perf_tool *tool, struct evlist *evlist);
42*d6dbf2d4SIan Rogers void aslr_tool__restore_evlist(const struct perf_tool *tool, struct evlist *evlist);
43febea9ecSIan Rogers 
44febea9ecSIan Rogers #endif /* __PERF_ASLR_H */
45