Re: TCG Plugin Dynamic Load

2024-01-09 Thread Peter Maydell
On Tue, 9 Jan 2024 at 16:12, Stephen Bates via  wrote:
>
> Hi
>
> I am exploring the rather awesome TCG Plugin feature of QEMU 
> (https://www.qemu.org/docs/master/devel/tcg-plugins.html#). The latest 
> documentation for this feature states:
>
> "This is a new feature for QEMU and it does allow people to develop 
> out-of-tree plugins that can be dynamically linked into a running QEMU 
> process".
>
> However all the examples given on the documentation page show cases where the 
> plugin is loaded at QEMU invocation time. Is there any documentation or 
> associated material that discusses how a plugin can be dynamically linked 
> into a running QEMU process? I would very much like to be able to experiment 
> with this capability. Also, if so, is there a way to unlink the plugin from 
> the running process if needed?

I think when that document says "dynamically linking into a running
QEMU process" what it means is exactly "loaded at invocation time":
at the point when QEMU is processing the command line options it is
already running. The idea is that this is a contrast from "you needed
to compile this into QEMU when you built the QEMU binary", i.e.
statically linked.

Cc'd Alex to check whether I'm right.

thanks
-- PMM



TCG Plugin Dynamic Load

2024-01-09 Thread Stephen Bates via
Hi

I am exploring the rather awesome TCG Plugin feature of QEMU 
(https://www.qemu.org/docs/master/devel/tcg-plugins.html#). The latest 
documentation for this feature states:

"This is a new feature for QEMU and it does allow people to develop out-of-tree 
plugins that can be dynamically linked into a running QEMU process".

However all the examples given on the documentation page show cases where the 
plugin is loaded at QEMU invocation time. Is there any documentation or 
associated material that discusses how a plugin can be dynamically linked into 
a running QEMU process? I would very much like to be able to experiment with 
this capability. Also, if so, is there a way to unlink the plugin from the 
running process if needed?

Any help or guidance would be appreciared!

Cheers

Stephen