diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2016-06-20 22:30:34 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-06-20 22:30:34 +0100 |
commit | b0ad00b8c9f81874df93d2b41e911c260e91a100 (patch) | |
tree | f52c2ca7878b26437173df0802ffe16bb3c052ef /include | |
parent | 7e13ea57f47710de2c19f22b27b34ab9fb045700 (diff) | |
parent | f52347d5b023dd2ab5518a4faaf2e0cee55c1915 (diff) |
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
# gpg: Signature made Mon 20 Jun 2016 21:29:27 BST
# gpg: using RSA key 0x9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
# gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8
* remotes/stefanha/tags/tracing-pull-request: (42 commits)
trace: split out trace events for linux-user/ directory
trace: split out trace events for qom/ directory
trace: split out trace events for target-ppc/ directory
trace: split out trace events for target-s390x/ directory
trace: split out trace events for target-sparc/ directory
trace: split out trace events for net/ directory
trace: split out trace events for audio/ directory
trace: split out trace events for ui/ directory
trace: split out trace events for hw/alpha/ directory
trace: split out trace events for hw/arm/ directory
trace: split out trace events for hw/acpi/ directory
trace: split out trace events for hw/vfio/ directory
trace: split out trace events for hw/s390x/ directory
trace: split out trace events for hw/pci/ directory
trace: split out trace events for hw/ppc/ directory
trace: split out trace events for hw/9pfs/ directory
trace: split out trace events for hw/i386/ directory
trace: split out trace events for hw/isa/ directory
trace: split out trace events for hw/sd/ directory
trace: split out trace events for hw/sparc/ directory
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/exec/cpu_ldst_template.h | 25 | ||||
-rw-r--r-- | include/exec/cpu_ldst_useronly_template.h | 22 |
2 files changed, 47 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>. */ + +#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; diff --git a/include/exec/cpu_ldst_useronly_template.h b/include/exec/cpu_ldst_useronly_template.h index 040b147437..b1378bfae8 100644 --- a/include/exec/cpu_ldst_useronly_template.h +++ b/include/exec/cpu_ldst_useronly_template.h @@ -22,6 +22,13 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ + +#if !defined(CODE_ACCESS) +#include "trace.h" +#endif + +#include "trace/mem.h" + #if DATA_SIZE == 8 #define SUFFIX q #define USUFFIX q @@ -53,6 +60,11 @@ static inline RES_TYPE glue(glue(cpu_ld, USUFFIX), MEMSUFFIX)(CPUArchState *env, target_ulong ptr) { +#if !defined(CODE_ACCESS) + trace_guest_mem_before_exec( + ENV_GET_CPU(env), ptr, + trace_mem_build_info(DATA_SIZE, false, MO_TE, false)); +#endif return glue(glue(ld, USUFFIX), _p)(g2h(ptr)); } @@ -68,6 +80,11 @@ glue(glue(glue(cpu_ld, USUFFIX), MEMSUFFIX), _ra)(CPUArchState *env, static inline int glue(glue(cpu_lds, SUFFIX), MEMSUFFIX)(CPUArchState *env, target_ulong ptr) { +#if !defined(CODE_ACCESS) + trace_guest_mem_before_exec( + ENV_GET_CPU(env), ptr, + trace_mem_build_info(DATA_SIZE, true, MO_TE, false)); +#endif return glue(glue(lds, SUFFIX), _p)(g2h(ptr)); } @@ -85,6 +102,11 @@ static inline void glue(glue(cpu_st, SUFFIX), MEMSUFFIX)(CPUArchState *env, target_ulong ptr, RES_TYPE v) { +#if !defined(CODE_ACCESS) + trace_guest_mem_before_exec( + ENV_GET_CPU(env), ptr, + trace_mem_build_info(DATA_SIZE, false, MO_TE, true)); +#endif glue(glue(st, SUFFIX), _p)(g2h(ptr), v); } |