1#ifndef _QEMU_DISAS_H
2#define _QEMU_DISAS_H
3
4#include "qemu-common.h"
5
6#ifdef NEED_CPU_H
7
8void disas(FILE *out, void *code, unsigned long size);
9void target_disas(FILE *out, CPUArchState *env, target_ulong code,
10 target_ulong size, int flags);
11
12void monitor_disas(Monitor *mon, CPUArchState *env,
13 target_ulong pc, int nb_insn, int is_physical, int flags);
14
15
16const char *lookup_symbol(target_ulong orig_addr);
17#endif
18
19struct syminfo;
20struct elf32_sym;
21struct elf64_sym;
22
23#if defined(CONFIG_USER_ONLY)
24typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr);
25#else
26typedef const char *(*lookup_symbol_t)(struct syminfo *s, hwaddr orig_addr);
27#endif
28
29struct syminfo {
30 lookup_symbol_t lookup_symbol;
31 unsigned int disas_num_syms;
32 union {
33 struct elf32_sym *elf32;
34 struct elf64_sym *elf64;
35 } disas_symtab;
36 const char *disas_strtab;
37 struct syminfo *next;
38};
39
40
41extern struct syminfo *syminfos;
42
43#endif
44