@@ -752,5 +752,17 @@ QEMU_PLUGIN_API
int qemu_plugin_read_register(struct qemu_plugin_register *handle,
GByteArray *buf);
+typedef struct Error Error;
+
+/**
+ * qemu_plugin_error_print() - print and free error
+ *
+ * @err: a @Error handle
+ *
+ * This function shows and and frees the supplied error.
+ */
+
+QEMU_PLUGIN_API
+void qemu_plugin_error_print(Error *err);
#endif /* QEMU_QEMU_PLUGIN_H */
@@ -45,6 +45,7 @@
#include "exec/ram_addr.h"
#include "disas/disas.h"
#include "plugin.h"
+#include "qapi/error.h"
#ifndef CONFIG_USER_ONLY
#include "qemu/plugin-memory.h"
#include "hw/boards.h"
@@ -465,3 +466,9 @@ int qemu_plugin_read_register(struct qemu_plugin_register *reg, GByteArray *buf)
return gdb_read_register(current_cpu, buf, GPOINTER_TO_INT(reg));
}
+
+void qemu_plugin_error_print(Error *err)
+{
+ error_report_err(err);
+}
+
@@ -2,6 +2,7 @@
qemu_plugin_bool_parse;
qemu_plugin_end_code;
qemu_plugin_entry_code;
+ qemu_plugin_error_print;
qemu_plugin_get_hwaddr;
qemu_plugin_get_registers;
qemu_plugin_hwaddr_device_name;
add qemu_plugin_error_print() which is a wrapper around error_report_err(). This will be used by qemu_plugin_parse_filter_ranges() to report parse failures. Signed-off-by: Sven Schnelle <svens@stackframe.org> --- include/qemu/qemu-plugin.h | 12 ++++++++++++ plugins/api.c | 7 +++++++ plugins/qemu-plugins.symbols | 1 + 3 files changed, 20 insertions(+)