18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __PERF_VDSO__
38c2ecf20Sopenharmony_ci#define __PERF_VDSO__
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <linux/types.h>
68c2ecf20Sopenharmony_ci#include <string.h>
78c2ecf20Sopenharmony_ci#include <stdbool.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#define VDSO__MAP_NAME "[vdso]"
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#define DSO__NAME_VDSO    "[vdso]"
128c2ecf20Sopenharmony_ci#define DSO__NAME_VDSO32  "[vdso32]"
138c2ecf20Sopenharmony_ci#define DSO__NAME_VDSOX32 "[vdsox32]"
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cistatic inline bool is_vdso_map(const char *filename)
168c2ecf20Sopenharmony_ci{
178c2ecf20Sopenharmony_ci	return !strcmp(filename, VDSO__MAP_NAME);
188c2ecf20Sopenharmony_ci}
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_cistruct dso;
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_cibool dso__is_vdso(struct dso *dso);
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_cistruct machine;
258c2ecf20Sopenharmony_cistruct thread;
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_cistruct dso *machine__findnew_vdso(struct machine *machine, struct thread *thread);
288c2ecf20Sopenharmony_civoid machine__exit_vdso(struct machine *machine);
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci#endif /* __PERF_VDSO__ */
31