aboutsummaryrefslogtreecommitdiff
path: root/include/qemu/qemu-plugin.h
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2019-06-19 20:20:08 +0100
committerAlex Bennée <alex.bennee@linaro.org>2019-10-28 15:12:38 +0000
commit235537fa7347a151ebd7a755e81819a52b3b2195 (patch)
tree275e9aa873062f61238a10eb90f7d54f1e4a57f8 /include/qemu/qemu-plugin.h
parente6d86bed50d20101c565e149c33e07a5cc764c72 (diff)
downloadqemu-235537fa7347a151ebd7a755e81819a52b3b2195.zip
qemu-235537fa7347a151ebd7a755e81819a52b3b2195.tar.gz
qemu-235537fa7347a151ebd7a755e81819a52b3b2195.tar.bz2
plugins: implement helpers for resolving hwaddr
We need to keep a local per-cpu copy of the data as other threads may be running. Currently we can provide insight as to if the access was IO or not and give the offset into a given device (usually the main RAMBlock). We store enough information to get details such as the MemoryRegion which might be useful in later expansions to the API. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/qemu/qemu-plugin.h')
-rw-r--r--include/qemu/qemu-plugin.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h
index b9a4a4b..c213d1d 100644
--- a/include/qemu/qemu-plugin.h
+++ b/include/qemu/qemu-plugin.h
@@ -285,6 +285,14 @@ bool qemu_plugin_mem_is_store(qemu_plugin_meminfo_t info);
struct qemu_plugin_hwaddr *qemu_plugin_get_hwaddr(qemu_plugin_meminfo_t info,
uint64_t vaddr);
+/*
+ * The following additional queries can be run on the hwaddr structure
+ * to return information about it. For non-IO accesses the device
+ * offset will be into the appropriate block of RAM.
+ */
+bool qemu_plugin_hwaddr_is_io(struct qemu_plugin_hwaddr *hwaddr);
+uint64_t qemu_plugin_hwaddr_device_offset(const struct qemu_plugin_hwaddr *haddr);
+
typedef void
(*qemu_plugin_vcpu_mem_cb_t)(unsigned int vcpu_index,
qemu_plugin_meminfo_t info, uint64_t vaddr,