aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2024-03-14 14:09:33 -1000
committerRichard Henderson <richard.henderson@linaro.org>2024-04-30 16:12:05 -0700
commitaff56de576c949880d674d37b82bdc97841107fb (patch)
tree4f1feaef020cbec695caf0c79d5f079c736cc8fe /include
parent25875fe92eb55e905655dcdf5f06f89ef2c1f404 (diff)
downloadqemu-aff56de576c949880d674d37b82bdc97841107fb.zip
qemu-aff56de576c949880d674d37b82bdc97841107fb.tar.gz
qemu-aff56de576c949880d674d37b82bdc97841107fb.tar.bz2
plugins: Move function pointer in qemu_plugin_dyn_cb
The out-of-line function pointer is mutually exclusive with inline expansion, so move it into the union. Wrap the pointer in a structure named 'regular' to match PLUGIN_CB_REGULAR. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/qemu/plugin.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/qemu/plugin.h b/include/qemu/plugin.h
index 41db748..5676ab5 100644
--- a/include/qemu/plugin.h
+++ b/include/qemu/plugin.h
@@ -85,7 +85,6 @@ enum plugin_dyn_cb_subtype {
* instance of a callback to be called upon the execution of a particular TB.
*/
struct qemu_plugin_dyn_cb {
- union qemu_plugin_cb_sig f;
void *userp;
enum plugin_dyn_cb_subtype type;
/* @rw applies to mem callbacks only (both regular and inline) */
@@ -93,6 +92,9 @@ struct qemu_plugin_dyn_cb {
/* fields specific to each dyn_cb type go here */
union {
struct {
+ union qemu_plugin_cb_sig f;
+ } regular;
+ struct {
qemu_plugin_u64 entry;
enum qemu_plugin_op op;
uint64_t imm;