equal
deleted
inserted
replaced
|
1 #ifndef _QEMU_DISAS_H |
|
2 #define _QEMU_DISAS_H |
|
3 |
|
4 /* Disassemble this for me please... (debugging). */ |
|
5 void disas(FILE *out, void *code, unsigned long size); |
|
6 void target_disas(FILE *out, target_ulong code, target_ulong size, int flags); |
|
7 void monitor_disas(CPUState *env, |
|
8 target_ulong pc, int nb_insn, int is_physical, int flags); |
|
9 |
|
10 /* Look up symbol for debugging purpose. Returns "" if unknown. */ |
|
11 const char *lookup_symbol(target_ulong orig_addr); |
|
12 |
|
13 struct syminfo; |
|
14 struct elf32_sym; |
|
15 struct elf64_sym; |
|
16 |
|
17 typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr); |
|
18 |
|
19 struct syminfo { |
|
20 lookup_symbol_t lookup_symbol; |
|
21 unsigned int disas_num_syms; |
|
22 union { |
|
23 struct elf32_sym *elf32; |
|
24 struct elf64_sym *elf64; |
|
25 } disas_symtab; |
|
26 const char *disas_strtab; |
|
27 struct syminfo *next; |
|
28 }; |
|
29 |
|
30 /* Filled in by elfload.c. Simplistic, but will do for now. */ |
|
31 extern struct syminfo *syminfos; |
|
32 |
|
33 #endif /* _QEMU_DISAS_H */ |