Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> --- accel/tcg/translator.c | 6 ++++++ trace-events | 11 +++++++++++ 2 files changed, 17 insertions(+)
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index afa3af478a..91b3b0da32 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -13,6 +13,7 @@ #include "cpu.h" #include "tcg/tcg.h" #include "tcg/tcg-op.h" +#include "trace-tcg.h" #include "exec/exec-all.h" #include "exec/gen-icount.h" #include "exec/log.h" @@ -91,6 +92,11 @@ void translator_loop(const TranslatorOps *ops, DisasContextBase *db, } } + /* Tracing before */ + if (db->num_insns == 1) { + trace_guest_bbl_before_tcg(cpu, tcg_ctx.tcg_env, db->pc_first); + } + /* Disassemble one instruction. The translate_insn hook should update db->pc_next and db->is_jmp to indicate what should be done next -- either exiting this loop or locate the start of diff --git a/trace-events b/trace-events index 1f50f56d9d..d242f54254 100644 --- a/trace-events +++ b/trace-events @@ -88,6 +88,17 @@ vcpu guest_cpu_exit(void) # Targets: all vcpu guest_cpu_reset(void) + +## Guest code + +# @vaddr: BBL's starting virtual address +# +# Mark start of BBL execution (before anything gets really executed). +# +# Mode: user, softmmu +# Targets: TCG(all) +vcpu tcg guest_bbl_before(uint64_t vaddr) "vaddr=0x%016"PRIx64, "vaddr=0x%016"PRIx64 + # @vaddr: Access' virtual address. # @info : Access' information (see below). #