diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2019-06-28 20:54:11 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2019-10-28 15:12:38 +0000 |
commit | 504f73f7b3724c885317b6b236620e9048f50c0a (patch) | |
tree | a2bce952b7dae13cae050b1d79cdbe9a9f3b0f20 /accel/tcg/atomic_template.h | |
parent | 291987c3068fb083abebb69701d04c5bab60f310 (diff) |
trace: add mmu_index to mem_info
We are going to re-use mem_info later for plugins and will need to
track the mmu_idx for softmmu code.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'accel/tcg/atomic_template.h')
-rw-r--r-- | accel/tcg/atomic_template.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/accel/tcg/atomic_template.h b/accel/tcg/atomic_template.h index 287433d809..473d7e5a94 100644 --- a/accel/tcg/atomic_template.h +++ b/accel/tcg/atomic_template.h @@ -60,23 +60,26 @@ #endif #define ATOMIC_TRACE_RMW do { \ - uint8_t info = glue(trace_mem_build_info_no_se, MEND)(SHIFT, false); \ + uint16_t info = glue(trace_mem_build_info_no_se, MEND) \ + (SHIFT, false, ATOMIC_MMU_IDX); \ \ - trace_guest_mem_before_exec(env_cpu(env), addr, info); \ - trace_guest_mem_before_exec(env_cpu(env), addr, \ + trace_guest_mem_before_exec(env_cpu(env), addr, info); \ + trace_guest_mem_before_exec(env_cpu(env), addr, \ info | TRACE_MEM_ST); \ } while (0) #define ATOMIC_TRACE_LD do { \ - uint8_t info = glue(trace_mem_build_info_no_se, MEND)(SHIFT, false); \ + uint16_t info = glue(trace_mem_build_info_no_se, MEND) \ + (SHIFT, false, ATOMIC_MMU_IDX); \ \ - trace_guest_mem_before_exec(env_cpu(env), addr, info); \ + trace_guest_mem_before_exec(env_cpu(env), addr, info); \ } while (0) -# define ATOMIC_TRACE_ST do { \ - uint8_t info = glue(trace_mem_build_info_no_se, MEND)(SHIFT, true); \ - \ - trace_guest_mem_before_exec(env_cpu(env), addr, info); \ +#define ATOMIC_TRACE_ST do { \ + uint16_t info = glue(trace_mem_build_info_no_se, MEND) \ + (SHIFT, true, ATOMIC_MMU_IDX); \ + \ + trace_guest_mem_before_exec(env_cpu(env), addr, info); \ } while (0) /* Define host-endian atomic operations. Note that END is used within |