38c4101deb
plugins: Fixes typo in qemu-plugin.h
...
Getting the comment consistence with the function name
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20201013002806.1447-3-luoyonggang@gmail.com >
Message-Id: <20210312172821.31647-15-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
fc292a7e7c
plugins: expand kernel-doc for memory query and instrumentation
...
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-13-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
8affbacb06
plugins: expand kernel-doc for instruction query and instrumentation
...
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-12-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
8bc9a4d46d
plugins: expand inline exec kernel-doc documentation.
...
Remove the extraneous @cb parameter and document the non-atomic nature
of the INLINE_ADD_U64 operation.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-11-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
fd6744a495
plugins: add qemu_plugin_id_t to kernel-doc
...
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-10-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
a40d3819e6
plugins: add qemu_plugin_cb_flags to kernel-doc
...
Also add a note to explain currently they are unused.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-9-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
83b9c2bfa4
plugins: expand the typedef kernel-docs for translation
...
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-8-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
c4f19122d9
plugins: expand the callback typedef kernel-docs
...
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-7-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
1caa8d9f2c
plugins: cleanup kernel-doc for qemu_plugin_install
...
kernel-doc doesn't like multiple Note sections. Also add an explicit
Return.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-6-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
841dcc0813
plugins: expand kernel-doc for qemu_info_t
...
It seems kernel-doc struggles a bit with typedef structs but with
enough encouragement we can get something out of it.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210312172821.31647-5-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
787148bf92
plugins: Expose physical addresses instead of device offsets
...
This allows plugins to query for full virtual-to-physical address
translation for a given `qemu_plugin_hwaddr` and stops exposing the
offset within the device itself. As this change breaks the API,
QEMU_PLUGIN_VERSION is incremented.
Signed-off-by: Aaron Lindsay <aaron@os.amperecomputing.com >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210309202802.211756-1-aaron@os.amperecomputing.com >
Message-Id: <20210312172821.31647-3-alex.bennee@linaro.org >
2021-03-17 07:17:46 +00:00
b853a79f65
plugins: add API to return a name for a IO device
...
This may well end up being anonymous but it should always be unique.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Clement Deschamps <clement.deschamps@greensocs.com >
Reviewed-by: Emilio G. Cota <cota@braap.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210213130325.14781-3-alex.bennee@linaro.org >
2021-02-18 08:16:50 +00:00
53b5d954f2
qemu-plugin.h: remove GCC < 4
...
Since commit efc6c07 ("configure: Add a test for the minimum compiler
version"), QEMU explicitely depends on GCC >= 4.8.
(clang >= 3.4 advertizes itself as GCC >= 4.2 compatible)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Acked-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20201210134752.780923-5-marcandre.lureau@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-12-15 12:52:09 -05:00
02324a475c
qemu-plugin.h: add missing include <stddef.h> to define size_t
...
Signed-off-by: Emilio G. Cota <cota@braap.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20200524202427.951784-1-cota@braap.org >
Message-Id: <20200605154929.26910-2-alex.bennee@linaro.org >
2020-06-08 16:59:25 +01:00
308e754964
qemu/qemu-plugin: Make qemu_plugin_hwaddr_is_io() hwaddr argument const
...
Rename qemu_plugin_hwaddr_is_io() address argument 'haddr'
similarly to qemu_plugin_hwaddr_device_offset(), and make
it const.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Emilio G. Cota <cota@braap.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20200510171119.20827-4-f4bug@amsat.org >
Message-Id: <20200513173200.11830-4-alex.bennee@linaro.org >
2020-05-15 15:25:16 +01:00
3fb356cc86
tcg plugins: expose an API version concept
...
This is a very simple versioning API which allows the plugin
infrastructure to check the API a plugin was built against. We also
expose a min/cur API version to the plugin via the info block in case
it wants to avoid using old deprecated APIs in the future.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Robert Foley <robert.foley@linaro.org >
2019-11-12 14:32:55 +00:00
ca76a66975
plugin: add qemu_plugin_outs helper
...
Having the plugins grab stdout and spew stuff there is a bit ugly and
certainly makes the tests look ugly. Provide a hook back into QEMU
which can be redirected as needed.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Aaron Lindsay <aaron@os.amperecomputing.com >
2019-10-28 15:12:38 +00:00
cbafa2362a
plugin: add qemu_plugin_insn_disas helper
...
Give the plugins access to the QEMU dissasembler so they don't have to
re-invent the wheel. We generate a warning when there are spare bytes
in the decode buffer. This is usually due to the front end loading in
more bytes than decoded.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2019-10-28 15:12:38 +00:00
5901b2e15b
plugin: expand the plugin_init function to include an info block
...
This provides a limited amount of info to plugins about the guest
system that will allow them to make some additional decisions on
setup.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
2019-10-28 15:12:38 +00:00
235537fa73
plugins: implement helpers for resolving hwaddr
...
We need to keep a local per-cpu copy of the data as other threads may
be running. Currently we can provide insight as to if the access was
IO or not and give the offset into a given device (usually the main
RAMBlock). We store enough information to get details such as the
MemoryRegion which might be useful in later expansions to the API.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2019-10-28 15:12:38 +00:00
5c5d69b0d5
plugin: add implementation of the api
...
[AJB: split from the core code commit]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2019-10-28 15:12:38 +00:00
975c455346
plugin: add user-facing API
...
Add the API first to ease review.
Signed-off-by: Emilio G. Cota <cota@braap.org >
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2019-10-28 15:12:38 +00:00