From: Elysia Witham
Plugins are able to use API functions which are explained in
to create and run their own callbacks and register
functions on another plugin's callbacks.
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
---
include/qemu/qemu-plugin.h
From: Elysia Witham
In order for the QPP API to resolve interactions between plugins,
plugins must export their own names which cannot match any other
loaded plugins.
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
---
include/qemu/qemu-plugin.h | 2 +-
plugins/core.c
From: Elysia Witham
Plugins can export functions or import functions from other
plugins using their name and the function name. This is also
described in .
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
---
include/qemu/qemu-plugin.h | 10 ++
plugins/api.c
, "_qpp" will be appended to the end of the
function name.
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
---
include/qemu/plugin-qpp.h | 54 +++
1 file changed, 54 insertions(+)
create mode 100644 include/qemu/plugin-qpp.h
diff --git
lugins/syscalls_logger.c
We plan to explore integrating this with qemu's existing user-mode syscall
tracing system and would love to eventually merge these plugins if there's
interest and the necessary APIs (QPP + register/memory access) become
available.
We welcome any feedback for this
From: Elysia Witham
The new QPP API allows plugin-to-plugin interaction for creating
and using callbacks as well as importing and exporting functions.
The new test plugins qpp_srv and qpp_client demonstrate how
plugins use the new API.
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
From: Elysia Witham
These test plugins demonstrate the QPP API changes by exporting
and importing functions and creating and registering callbacks.
These tests are integrated into the `make check-tcg` tests.
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
---
tests/Makefile.include
From: Elysia Witham
Plugins will pass their unique id when creating callbacks to
ensure they are associated with the correct plugin. This
internal function resolves those ids to the declared names.
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
---
plugins/core.c | 12
a target plugin.
Signed-off-by: Elysia Witham
Signed-off-by: Andrew Fasano
---
include/qemu/qemu-plugin.h | 10 ++
plugins/core.c | 23 +++
plugins/loader.c | 10 ++
plugins/plugin.h | 15 +++
4 files changed, 58 inse
Describe how multiple TCG plugins can interact using the QEMU
Plugin-to-Plugin API (QPP) with both callbacks and direct
function calls.
Signed-off-by: Andrew Fasano
---
docs/devel/tcg-plugins.rst | 76 ++
1 file changed, 76 insertions(+)
diff --git a/docs
is triggered.
Signed-off-by: Andrew Fasano
---
include/qemu/plugin-qpp.h| 252 +++
plugins/core.c | 11 ++
plugins/loader.c | 24
plugins/plugin.h | 5 +
plugins/qemu-plugins.symbols | 1 +
5 files changed, 293
calls
into the two exposed functions in qpp_srv.
Signed-off-by: Andrew Fasano
---
contrib/plugins/Makefile | 2 ++
contrib/plugins/qpp_client.c | 42
contrib/plugins/qpp_client.h | 1 +
contrib/plugins/qpp_srv.c| 33
Use plugin filenames to set the preprocessor variable CURRENT_PLUGIN
as a string during plugin compilation.
Signed-off-by: Andrew Fasano
---
contrib/plugins/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/plugins/Makefile b/contrib/plugins/Makefile
index
em like an interface like this would be worth merging? If so,
I'd welcome any and all suggestions on how to improve these changes.
Thank you,
Andrew Fasano
Andrew Fasano (4):
docs/tcg-plugins: describe QPP API
tcg/plugins: Automatically define CURRENT_PLUGIN
tcg/plugins: Support for i
14 matches
Mail list logo