[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 1/6] trace: fix misreporting of TCG access sizes for
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL 1/6] trace: fix misreporting of TCG access sizes for user-space |
Date: |
Wed, 27 Jun 2018 13:58:42 +0100 |
From: "Emilio G. Cota" <address@hidden>
trace_mem_build_info expects a size_shift for its first argument. Fix it.
Signed-off-by: Emilio G. Cota <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
include/exec/cpu_ldst_useronly_template.h | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/include/exec/cpu_ldst_useronly_template.h
b/include/exec/cpu_ldst_useronly_template.h
index c168f31bba..e30e58ed4a 100644
--- a/include/exec/cpu_ldst_useronly_template.h
+++ b/include/exec/cpu_ldst_useronly_template.h
@@ -33,20 +33,24 @@
#define SUFFIX q
#define USUFFIX q
#define DATA_TYPE uint64_t
+#define SHIFT 3
#elif DATA_SIZE == 4
#define SUFFIX l
#define USUFFIX l
#define DATA_TYPE uint32_t
+#define SHIFT 2
#elif DATA_SIZE == 2
#define SUFFIX w
#define USUFFIX uw
#define DATA_TYPE uint16_t
#define DATA_STYPE int16_t
+#define SHIFT 1
#elif DATA_SIZE == 1
#define SUFFIX b
#define USUFFIX ub
#define DATA_TYPE uint8_t
#define DATA_STYPE int8_t
+#define SHIFT 0
#else
#error unsupported data size
#endif
@@ -63,7 +67,7 @@ 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));
+ trace_mem_build_info(SHIFT, false, MO_TE, false));
#endif
return glue(glue(ld, USUFFIX), _p)(g2h(ptr));
}
@@ -87,7 +91,7 @@ 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));
+ trace_mem_build_info(SHIFT, true, MO_TE, false));
#endif
return glue(glue(lds, SUFFIX), _p)(g2h(ptr));
}
@@ -113,7 +117,7 @@ glue(glue(cpu_st, 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, false, MO_TE, true));
+ trace_mem_build_info(SHIFT, false, MO_TE, true));
#endif
glue(glue(st, SUFFIX), _p)(g2h(ptr), v);
}
@@ -136,3 +140,4 @@ glue(glue(glue(cpu_st, SUFFIX), MEMSUFFIX),
_ra)(CPUArchState *env,
#undef SUFFIX
#undef USUFFIX
#undef DATA_SIZE
+#undef SHIFT
--
2.17.1
- [Qemu-devel] [PULL 0/6] Tracing patches, Stefan Hajnoczi, 2018/06/27
- [Qemu-devel] [PULL 1/6] trace: fix misreporting of TCG access sizes for user-space,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL 2/6] trace: simplify trace_mem functions, Stefan Hajnoczi, 2018/06/27
- [Qemu-devel] [PULL 3/6] trace: expand mem_info:size_shift to 3 bits, Stefan Hajnoczi, 2018/06/27
- [Qemu-devel] [PULL 5/6] trace: enable tracing of TCG atomics, Stefan Hajnoczi, 2018/06/27
- [Qemu-devel] [PULL 6/6] trace: forbid floating point types, Stefan Hajnoczi, 2018/06/27
- [Qemu-devel] [PULL 4/6] trace: add trace_mem_build_info_no_se_be/le, Stefan Hajnoczi, 2018/06/27
- Re: [Qemu-devel] [PULL 0/6] Tracing patches, Peter Maydell, 2018/06/28