]> git.proxmox.com Git - mirror_qemu.git/blame - accel/tcg/perf.h
qga: Solaris has net/if_arp.h and netinet/if_ether.h but not ETHER_ADDR_LEN
[mirror_qemu.git] / accel / tcg / perf.h
CommitLineData
5584e2db
IL
1/*
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