mirror of https://gitee.com/openkylin/qemu.git
docs/devel: update tcg-plugins.rst with API versioning details
While we are at it fix up the quoted code sections with the inline :: approach. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Robert Foley <robert.foley@linaro.org>
This commit is contained in:
parent
8ea6abf0d0
commit
5c6ecbdc83
|
@ -25,6 +25,23 @@ process. However the project reserves the right to change or break the
|
|||
API should it need to do so. The best way to avoid this is to submit
|
||||
your plugin upstream so they can be updated if/when the API changes.
|
||||
|
||||
API versioning
|
||||
--------------
|
||||
|
||||
All plugins need to declare a symbol which exports the plugin API
|
||||
version they were built against. This can be done simply by::
|
||||
|
||||
QEMU_PLUGIN_EXPORT int qemu_plugin_version = QEMU_PLUGIN_VERSION;
|
||||
|
||||
The core code will refuse to load a plugin that doesn't export a
|
||||
`qemu_plugin_version` symbol or if plugin version is outside of QEMU's
|
||||
supported range of API versions.
|
||||
|
||||
Additionally the `qemu_info_t` structure which is passed to the
|
||||
`qemu_plugin_install` method of a plugin will detail the minimum and
|
||||
current API versions supported by QEMU. The API version will be
|
||||
incremented if new APIs are added. The minimum API version will be
|
||||
incremented if existing APIs are changed or removed.
|
||||
|
||||
Exposure of QEMU internals
|
||||
--------------------------
|
||||
|
@ -40,16 +57,14 @@ instructions and events are opaque to the plugins themselves.
|
|||
Usage
|
||||
=====
|
||||
|
||||
The QEMU binary needs to be compiled for plugin support:
|
||||
The QEMU binary needs to be compiled for plugin support::
|
||||
|
||||
::
|
||||
configure --enable-plugins
|
||||
configure --enable-plugins
|
||||
|
||||
Once built a program can be run with multiple plugins loaded each with
|
||||
their own arguments:
|
||||
their own arguments::
|
||||
|
||||
::
|
||||
$QEMU $OTHER_QEMU_ARGS \
|
||||
$QEMU $OTHER_QEMU_ARGS \
|
||||
-plugin tests/plugin/libhowvec.so,arg=inline,arg=hint \
|
||||
-plugin tests/plugin/libhotblocks.so
|
||||
|
||||
|
|
Loading…
Reference in New Issue