root / disas.h @ a74cdab4
History | View | Annotate | Download (1.1 kB)
1 |
#ifndef _QEMU_DISAS_H
|
---|---|
2 |
#define _QEMU_DISAS_H
|
3 |
|
4 |
#include "qemu-common.h" |
5 |
|
6 |
#ifdef NEED_CPU_H
|
7 |
/* Disassemble this for me please... (debugging). */
|
8 |
void disas(FILE *out, void *code, unsigned long size); |
9 |
void target_disas(FILE *out, target_ulong code, target_ulong size, int flags); |
10 |
|
11 |
void monitor_disas(Monitor *mon, CPUState *env,
|
12 |
target_ulong pc, int nb_insn, int is_physical, int flags); |
13 |
|
14 |
/* Look up symbol for debugging purpose. Returns "" if unknown. */
|
15 |
const char *lookup_symbol(target_ulong orig_addr); |
16 |
#endif
|
17 |
|
18 |
struct syminfo;
|
19 |
struct elf32_sym;
|
20 |
struct elf64_sym;
|
21 |
|
22 |
#if defined(CONFIG_USER_ONLY)
|
23 |
typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr); |
24 |
#else
|
25 |
typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_phys_addr_t orig_addr); |
26 |
#endif
|
27 |
|
28 |
struct syminfo {
|
29 |
lookup_symbol_t lookup_symbol; |
30 |
unsigned int disas_num_syms; |
31 |
union {
|
32 |
struct elf32_sym *elf32;
|
33 |
struct elf64_sym *elf64;
|
34 |
} disas_symtab; |
35 |
const char *disas_strtab; |
36 |
struct syminfo *next;
|
37 |
}; |
38 |
|
39 |
/* Filled in by elfload.c. Simplistic, but will do for now. */
|
40 |
extern struct syminfo *syminfos; |
41 |
|
42 |
#endif /* _QEMU_DISAS_H */ |