From dcdaadb6ea873159487aa2fdbee2c4aa7779e02d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Vilanova?= Date: Thu, 9 Jun 2016 19:31:47 +0200 Subject: trace: [all] Add "guest_mem_before" event MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The event is described in "trace-events". Note that the "MO_AMASK" flag is not traced, since it does not seem to affect the visible semantics of instructions. [s/inline inline/inline/ to fix clang build. --Stefan] Signed-off-by: LluĂ­s Vilanova Reviewed-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 146549350711.18437.726780393247474362.stgit@fimbulvetr.bsc.es Signed-off-by: Stefan Hajnoczi --- include/exec/cpu_ldst_template.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'include/exec/cpu_ldst_template.h') diff --git a/include/exec/cpu_ldst_template.h b/include/exec/cpu_ldst_template.h index 3091c00030..eaf69a1ad4 100644 --- a/include/exec/cpu_ldst_template.h +++ b/include/exec/cpu_ldst_template.h @@ -23,6 +23,13 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see . */ + +#if !defined(SOFTMMU_CODE_ACCESS) +#include "trace.h" +#endif + +#include "trace/mem.h" + #if DATA_SIZE == 8 #define SUFFIX q #define USUFFIX q @@ -80,6 +87,12 @@ glue(glue(glue(cpu_ld, USUFFIX), MEMSUFFIX), _ra)(CPUArchState *env, int mmu_idx; TCGMemOpIdx oi; +#if !defined(SOFTMMU_CODE_ACCESS) + trace_guest_mem_before_exec( + ENV_GET_CPU(env), ptr, + trace_mem_build_info(SHIFT, false, MO_TE, false)); +#endif + addr = ptr; page_index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); mmu_idx = CPU_MMU_INDEX; @@ -112,6 +125,12 @@ glue(glue(glue(cpu_lds, SUFFIX), MEMSUFFIX), _ra)(CPUArchState *env, int mmu_idx; TCGMemOpIdx oi; +#if !defined(SOFTMMU_CODE_ACCESS) + trace_guest_mem_before_exec( + ENV_GET_CPU(env), ptr, + trace_mem_build_info(SHIFT, true, MO_TE, false)); +#endif + addr = ptr; page_index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); mmu_idx = CPU_MMU_INDEX; @@ -148,6 +167,12 @@ glue(glue(glue(cpu_st, SUFFIX), MEMSUFFIX), _ra)(CPUArchState *env, int mmu_idx; TCGMemOpIdx oi; +#if !defined(SOFTMMU_CODE_ACCESS) + trace_guest_mem_before_exec( + ENV_GET_CPU(env), ptr, + trace_mem_build_info(SHIFT, false, MO_TE, true)); +#endif + addr = ptr; page_index = (addr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1); mmu_idx = CPU_MMU_INDEX; -- cgit v1.2.3