blob: f92dd52c6994e2b23fc25f6ab2b6d9a91e607593 [file] [log] [blame]
Ilya Leoshkevich5584e2d2023-01-12 16:20:13 +01001/*
2 * Linux perf perf-<pid>.map and jit-<pid>.dump integration.
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef ACCEL_TCG_PERF_H
8#define ACCEL_TCG_PERF_H
9
10#if defined(CONFIG_TCG) && defined(CONFIG_LINUX)
11/* Start writing perf-<pid>.map. */
12void perf_enable_perfmap(void);
13
14/* Start writing jit-<pid>.dump. */
15void perf_enable_jitdump(void);
16
17/* Add information about TCG prologue to profiler maps. */
18void perf_report_prologue(const void *start, size_t size);
19
20/* Add information about JITted guest code to profiler maps. */
21void perf_report_code(uint64_t guest_pc, TranslationBlock *tb,
22 const void *start);
23
24/* Stop writing perf-<pid>.map and/or jit-<pid>.dump. */
25void perf_exit(void);
26#else
27static inline void perf_enable_perfmap(void)
28{
29}
30
31static inline void perf_enable_jitdump(void)
32{
33}
34
35static inline void perf_report_prologue(const void *start, size_t size)
36{
37}
38
39static inline void perf_report_code(uint64_t guest_pc, TranslationBlock *tb,
40 const void *start)
41{
42}
43
44static inline void perf_exit(void)
45{
46}
47#endif
48
49#endif