diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-10-24 11:12:21 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-19 08:29:06 +0100 |
commit | 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a (patch) | |
tree | 88d6951ea0620e95d2bad4d458f2c51147b4218b /include/disas/disas.h | |
parent | c1c9367216c97ca93de79e90822045a425d7e76d (diff) |
build: kill libdis, move disassemblers to disas/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/disas/disas.h')
-rw-r--r-- | include/disas/disas.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/disas/disas.h b/include/disas/disas.h new file mode 100644 index 0000000000..c13ca9a3a4 --- /dev/null +++ b/include/disas/disas.h @@ -0,0 +1,43 @@ +#ifndef _QEMU_DISAS_H +#define _QEMU_DISAS_H + +#include "qemu-common.h" + +#ifdef NEED_CPU_H +/* Disassemble this for me please... (debugging). */ +void disas(FILE *out, void *code, unsigned long size); +void target_disas(FILE *out, CPUArchState *env, target_ulong code, + target_ulong size, int flags); + +void monitor_disas(Monitor *mon, CPUArchState *env, + target_ulong pc, int nb_insn, int is_physical, int flags); + +/* Look up symbol for debugging purpose. Returns "" if unknown. */ +const char *lookup_symbol(target_ulong orig_addr); +#endif + +struct syminfo; +struct elf32_sym; +struct elf64_sym; + +#if defined(CONFIG_USER_ONLY) +typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr); +#else +typedef const char *(*lookup_symbol_t)(struct syminfo *s, hwaddr orig_addr); +#endif + +struct syminfo { + lookup_symbol_t lookup_symbol; + unsigned int disas_num_syms; + union { + struct elf32_sym *elf32; + struct elf64_sym *elf64; + } disas_symtab; + const char *disas_strtab; + struct syminfo *next; +}; + +/* Filled in by elfload.c. Simplistic, but will do for now. */ +extern struct syminfo *syminfos; + +#endif /* _QEMU_DISAS_H */ |