diff options
Diffstat (limited to '')
| -rw-r--r-- | tcg/perf.c (renamed from accel/tcg/perf.c) | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/accel/tcg/perf.c b/tcg/perf.c index cd1aa99a7e..412a987d95 100644 --- a/accel/tcg/perf.c +++ b/tcg/perf.c @@ -10,13 +10,13 @@ #include "qemu/osdep.h" #include "elf.h" -#include "exec/exec-all.h" +#include "exec/target_page.h" +#include "exec/translation-block.h" #include "qemu/timer.h" +#include "tcg/debuginfo.h" +#include "tcg/perf.h" #include "tcg/tcg.h" -#include "debuginfo.h" -#include "perf.h" - static FILE *safe_fopen_w(const char *path) { int saved_errno; @@ -335,11 +335,7 @@ void perf_report_code(uint64_t guest_pc, TranslationBlock *tb, /* FIXME: This replicates the restore_state_to_opc() logic. */ q[insn].address = gen_insn_data[insn * start_words + 0]; if (tb_cflags(tb) & CF_PCREL) { - q[insn].address |= (guest_pc & TARGET_PAGE_MASK); - } else { -#if defined(TARGET_I386) - q[insn].address -= tb->cs_base; -#endif + q[insn].address |= (guest_pc & qemu_target_page_mask()); } q[insn].flags = DEBUGINFO_SYMBOL | (jitdump ? DEBUGINFO_LINE : 0); } |