aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorIvanov Arkady <arkadiy.ivanov@ispras.ru>2022-02-04 20:43:30 +0000
committerAlex Bennée <alex.bennee@linaro.org>2022-02-09 12:08:42 +0000
commit91d40327106c372760d09ffae93f91c24fcbbb6c (patch)
tree0832c3cd8e5efc3c6bd632253f37b846056767e1 /include
parent126d4123c50a78a99e04196126d42627911ef5b8 (diff)
downloadqemu-91d40327106c372760d09ffae93f91c24fcbbb6c.zip
qemu-91d40327106c372760d09ffae93f91c24fcbbb6c.tar.gz
qemu-91d40327106c372760d09ffae93f91c24fcbbb6c.tar.bz2
plugins: add helper functions for coverage plugins
Which provide information about: - start_code. - end_code. - entry. - path to the executable binary. Signed-off-by: Ivanov Arkady <arkadiy.ivanov@ispras.ru> Message-Id: <163491883461.304355.8210754161847179432.stgit@pc-System-Product-Name> [AJB: reword title, better descriptions, defaults, rm export, fix include] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220204204335.1689602-22-alex.bennee@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/qemu/qemu-plugin.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h
index 5f10172..535ddbf 100644
--- a/include/qemu/qemu-plugin.h
+++ b/include/qemu/qemu-plugin.h
@@ -590,4 +590,38 @@ void qemu_plugin_outs(const char *string);
*/
bool qemu_plugin_bool_parse(const char *name, const char *val, bool *ret);
+/**
+ * qemu_plugin_path_to_binary() - path to binary file being executed
+ *
+ * Return a string representing the path to the binary. For user-mode
+ * this is the main executable. For system emulation we currently
+ * return NULL. The user should g_free() the string once no longer
+ * needed.
+ */
+const char *qemu_plugin_path_to_binary(void);
+
+/**
+ * qemu_plugin_start_code() - returns start of text segment
+ *
+ * Returns the nominal start address of the main text segment in
+ * user-mode. Currently returns 0 for system emulation.
+ */
+uint64_t qemu_plugin_start_code(void);
+
+/**
+ * qemu_plugin_end_code() - returns end of text segment
+ *
+ * Returns the nominal end address of the main text segment in
+ * user-mode. Currently returns 0 for system emulation.
+ */
+uint64_t qemu_plugin_end_code(void);
+
+/**
+ * qemu_plugin_entry_code() - returns start address for module
+ *
+ * Returns the nominal entry address of the main text segment in
+ * user-mode. Currently returns 0 for system emulation.
+ */
+uint64_t qemu_plugin_entry_code(void);
+
#endif /* QEMU_PLUGIN_API_H */