summaryrefslogtreecommitdiffstats
path: root/trace-events
diff options
context:
space:
mode:
authorLluís Vilanova2016-06-09 19:31:47 +0200
committerStefan Hajnoczi2016-06-20 18:21:56 +0200
commitdcdaadb6ea873159487aa2fdbee2c4aa7779e02d (patch)
tree767536fb99ccab715bbd47af0587c1e356a9621a /trace-events
parentexec: [tcg] Track which vCPU is performing translation and execution (diff)
downloadqemu-dcdaadb6ea873159487aa2fdbee2c4aa7779e02d.tar.gz
qemu-dcdaadb6ea873159487aa2fdbee2c4aa7779e02d.tar.xz
qemu-dcdaadb6ea873159487aa2fdbee2c4aa7779e02d.zip
trace: [all] Add "guest_mem_before" event
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 <vilanova@ac.upc.edu> Reviewed-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 146549350711.18437.726780393247474362.stgit@fimbulvetr.bsc.es Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'trace-events')
-rw-r--r--trace-events21
1 files changed, 21 insertions, 0 deletions
diff --git a/trace-events b/trace-events
index da0d06025d..90edb982f5 100644
--- a/trace-events
+++ b/trace-events
@@ -2206,3 +2206,24 @@ gicv3_redist_write(uint32_t cpu, uint64_t offset, uint64_t data, unsigned size,
gicv3_redist_badwrite(uint32_t cpu, uint64_t offset, uint64_t data, unsigned size, bool secure) "GICv3 redistributor %x write: offset 0x%" PRIx64 " data 0x%" PRIx64 " size %u secure %d: error"
gicv3_redist_set_irq(uint32_t cpu, int irq, int level) "GICv3 redistributor %x interrupt %d level changed to %d"
gicv3_redist_send_sgi(uint32_t cpu, int irq) "GICv3 redistributor %x pending SGI %d"
+
+### Guest events, keep at bottom
+
+# @vaddr: Access' virtual address.
+# @info : Access' information (see below).
+#
+# Start virtual memory access (before any potential access violation).
+#
+# Does not include memory accesses performed by devices.
+#
+# Access information can be parsed as:
+#
+# struct mem_info {
+# uint8_t size_shift : 2; /* interpreted as "1 << size_shift" bytes */
+# bool sign_extend: 1; /* sign-extended */
+# uint8_t endianness : 1; /* 0: little, 1: big */
+# bool store : 1; /* wheter it's a store operation */
+# };
+#
+# Targets: TCG(all)
+disable vcpu tcg guest_mem_before(TCGv vaddr, uint8_t info) "info=%d", "vaddr=0x%016"PRIx64" info=%d"