root / disas.h @ 94909d9f
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 |
/* Disassemble this for me please... (debugging). */
|
7 |
void disas(FILE *out, void *code, unsigned long size); |
8 |
void target_disas(FILE *out, target_ulong code, target_ulong size, int flags); |
9 |
|
10 |
/* The usual mess... FIXME: Remove this condition once dyngen-exec.h is gone */
|
11 |
#ifndef __DYNGEN_EXEC_H__
|
12 |
void monitor_disas(Monitor *mon, CPUState *env,
|
13 |
target_ulong pc, int nb_insn, int is_physical, int flags); |
14 |
#endif
|
15 |
|
16 |
/* Look up symbol for debugging purpose. Returns "" if unknown. */
|
17 |
const char *lookup_symbol(target_ulong orig_addr); |
18 |
|
19 |
struct syminfo;
|
20 |
struct elf32_sym;
|
21 |
struct elf64_sym;
|
22 |
|
23 |
typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr); |
24 |
|
25 |
struct syminfo {
|
26 |
lookup_symbol_t lookup_symbol; |
27 |
unsigned int disas_num_syms; |
28 |
union {
|
29 |
struct elf32_sym *elf32;
|
30 |
struct elf64_sym *elf64;
|
31 |
} disas_symtab; |
32 |
const char *disas_strtab; |
33 |
struct syminfo *next;
|
34 |
}; |
35 |
|
36 |
/* Filled in by elfload.c. Simplistic, but will do for now. */
|
37 |
extern struct syminfo *syminfos; |
38 |
|
39 |
#endif /* _QEMU_DISAS_H */ |