[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/2] src/plugins: add helper functions for drcov
From: |
NDNF |
Subject: |
[PATCH v2 1/2] src/plugins: add helper functions for drcov |
Date: |
Fri, 15 Oct 2021 12:55:16 +0300 |
User-agent: |
StGit/0.19 |
This patch adds helper functions to the drcov plugin.
Which provide information about:
- start_code.
- end_code.
- entry.
- path to the executable binary.
Signed-off-by: Ivanov Arkady <arkadiy.ivanov@ispras.ru>
---
include/qemu/qemu-plugin.h | 5 +++++
plugins/api.c | 27 +++++++++++++++++++++++++++
plugins/qemu-plugins.symbols | 4 ++++
3 files changed, 36 insertions(+)
diff --git a/include/qemu/qemu-plugin.h b/include/qemu/qemu-plugin.h
index 5775e82c4e..807d932e02 100644
--- a/include/qemu/qemu-plugin.h
+++ b/include/qemu/qemu-plugin.h
@@ -405,4 +405,9 @@ int qemu_plugin_n_max_vcpus(void);
*/
void qemu_plugin_outs(const char *string);
+QEMU_PLUGIN_EXPORT const char *qemu_plugin_path_to_binary(void);
+QEMU_PLUGIN_EXPORT uint64_t qemu_plugin_start_code(void);
+QEMU_PLUGIN_EXPORT uint64_t qemu_plugin_end_code(void);
+QEMU_PLUGIN_EXPORT uint64_t qemu_plugin_entry_code(void);
+
#endif /* QEMU_PLUGIN_API_H */
diff --git a/plugins/api.c b/plugins/api.c
index bbdc5a4eb4..4e8a582d58 100644
--- a/plugins/api.c
+++ b/plugins/api.c
@@ -340,3 +340,30 @@ void qemu_plugin_outs(const char *string)
{
qemu_log_mask(CPU_LOG_PLUGIN, "%s", string);
}
+
+#ifdef CONFIG_USER_ONLY
+#include "qemu.h"
+const char *qemu_plugin_path_to_binary(void)
+{
+ TaskState *ts = (TaskState *) current_cpu->opaque;
+ return ts->bprm->filename;
+}
+
+uint64_t qemu_plugin_start_code(void)
+{
+ TaskState *ts = (TaskState *) current_cpu->opaque;
+ return ts->info->start_code;
+}
+
+uint64_t qemu_plugin_end_code(void)
+{
+ TaskState *ts = (TaskState *) current_cpu->opaque;
+ return ts->info->end_code;
+}
+
+uint64_t qemu_plugin_entry_code(void)
+{
+ TaskState *ts = (TaskState *) current_cpu->opaque;
+ return ts->info->entry;
+}
+#endif
diff --git a/plugins/qemu-plugins.symbols b/plugins/qemu-plugins.symbols
index 4bdb381f48..021851fb7d 100644
--- a/plugins/qemu-plugins.symbols
+++ b/plugins/qemu-plugins.symbols
@@ -37,4 +37,8 @@
qemu_plugin_n_vcpus;
qemu_plugin_n_max_vcpus;
qemu_plugin_outs;
+ qemu_plugin_path_to_binary;
+ qemu_plugin_start_code;
+ qemu_plugin_end_code;
+ qemu_plugin_entry_code;
};