| /* |
| * Linux perf perf-<pid>.map and jit-<pid>.dump integration. |
| * |
| * SPDX-License-Identifier: GPL-2.0-or-later |
| */ |
| |
| #ifndef TCG_PERF_H |
| #define TCG_PERF_H |
| |
| #if defined(CONFIG_TCG) && defined(CONFIG_LINUX) |
| /* Start writing perf-<pid>.map. */ |
| void perf_enable_perfmap(void); |
| |
| /* Start writing jit-<pid>.dump. */ |
| void perf_enable_jitdump(void); |
| |
| /* Add information about TCG prologue to profiler maps. */ |
| void perf_report_prologue(const void *start, size_t size); |
| |
| /* Add information about JITted guest code to profiler maps. */ |
| void perf_report_code(uint64_t guest_pc, TranslationBlock *tb, |
| const void *start); |
| |
| /* Stop writing perf-<pid>.map and/or jit-<pid>.dump. */ |
| void perf_exit(void); |
| #else |
| static inline void perf_enable_perfmap(void) |
| { |
| } |
| |
| static inline void perf_enable_jitdump(void) |
| { |
| } |
| |
| static inline void perf_report_prologue(const void *start, size_t size) |
| { |
| } |
| |
| static inline void perf_report_code(uint64_t guest_pc, TranslationBlock *tb, |
| const void *start) |
| { |
| } |
| |
| static inline void perf_exit(void) |
| { |
| } |
| #endif |
| |
| #endif |