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