File:  [Qemu by Fabrice Bellard] / qemu / disas.h
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:20:32 2018 UTC (2 years, 6 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu0111, qemu0110, HEAD
qemu 0.11.0

    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 */

unix.superglobalmegacorp.com