^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __PERF_DUMP_INSN_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __PERF_DUMP_INSN_H 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #define MAXINSN 15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) struct thread;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) struct perf_insn {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) /* Initialized by callers: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) struct thread *thread;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) u8 cpumode;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) bool is64bit;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int cpu;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) /* Temporary */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) char out[256];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) const char *dump_insn(struct perf_insn *x, u64 ip,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) u8 *inbuf, int inlen, int *lenp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) int arch_is_branch(const unsigned char *buf, size_t len, int x86_64);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #endif