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