cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

disas.h (1248B)


      1#ifndef QEMU_DISAS_H
      2#define QEMU_DISAS_H
      3
      4#include "exec/hwaddr.h"
      5
      6#ifdef NEED_CPU_H
      7#include "cpu.h"
      8
      9/* Disassemble this for me please... (debugging). */
     10void disas(FILE *out, const void *code, unsigned long size);
     11void target_disas(FILE *out, CPUState *cpu, target_ulong code,
     12                  target_ulong size);
     13
     14void monitor_disas(Monitor *mon, CPUState *cpu,
     15                   target_ulong pc, int nb_insn, int is_physical);
     16
     17char *plugin_disas(CPUState *cpu, uint64_t addr, size_t size);
     18
     19/* Look up symbol for debugging purpose.  Returns "" if unknown. */
     20const char *lookup_symbol(target_ulong orig_addr);
     21#endif
     22
     23struct syminfo;
     24struct elf32_sym;
     25struct elf64_sym;
     26
     27#if defined(CONFIG_USER_ONLY)
     28typedef const char *(*lookup_symbol_t)(struct syminfo *s, target_ulong orig_addr);
     29#else
     30typedef const char *(*lookup_symbol_t)(struct syminfo *s, hwaddr orig_addr);
     31#endif
     32
     33struct syminfo {
     34    lookup_symbol_t lookup_symbol;
     35    unsigned int disas_num_syms;
     36    union {
     37      struct elf32_sym *elf32;
     38      struct elf64_sym *elf64;
     39    } disas_symtab;
     40    const char *disas_strtab;
     41    struct syminfo *next;
     42};
     43
     44/* Filled in by elfload.c.  Simplistic, but will do for now. */
     45extern struct syminfo *syminfos;
     46
     47#endif /* QEMU_DISAS_H */