diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2009-09-20 14:58:02 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2009-09-20 14:58:02 +0000 |
commit | ca20cf32ab3d945155141ef737f5d08ebb373e1d (patch) | |
tree | 45515350fdf7b5322658095beec591565a78506d /disas.h | |
parent | a333cd7166d12397635e16dcade28da5ba8ec7b3 (diff) |
Compile loader only once
Callers must pass ELF machine, byte swapping and symbol LSB clearing
information to ELF loader. A.out loader needs page size information, pass
that too as a parameter.
Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw.
Adjust callers. Also use target_phys_addr_t instead of target_ulong for
addresses: loader addresses aren't virtual.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'disas.h')
-rw-r--r-- | disas.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -3,6 +3,7 @@ #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); @@ -15,12 +16,13 @@ void monitor_disas(Monitor *mon, CPUState *env, /* 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; -typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr); +typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_phys_addr_t orig_addr); struct syminfo { lookup_symbol_t lookup_symbol; |