mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 11:23:43 +08:00
47b01cf3a1
The formerly used dyngen code did not work with system include files like stdio.h. Tests with Linux, OSX and Win32 show that this restriction is no longer needed. So we hopefully can remove that special piece of code. This results in cleaner code and allows better use of the new GCC_FMT_ATTR macro. Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
#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, target_ulong code, target_ulong size, int flags);
|
|
|
|
void monitor_disas(Monitor *mon, CPUState *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, target_phys_addr_t 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 */
|