aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRorie Reyes <rreyes@linux.ibm.com>2025-06-11 17:12:52 -0400
committerCédric Le Goater <clg@redhat.com>2025-06-26 08:55:37 +0200
commit639ff87a1a823715f16edec34caacd8ef824fcfd (patch)
treeb18c0a0cb96d20563da8185565afe36c6ade666c
parentf9a3def17b2a57679902c33064cf7853263db0ef (diff)
downloadqemu-639ff87a1a823715f16edec34caacd8ef824fcfd.zip
qemu-639ff87a1a823715f16edec34caacd8ef824fcfd.tar.gz
qemu-639ff87a1a823715f16edec34caacd8ef824fcfd.tar.bz2
hw/vfio/ap: attribute constructor for cfg_chg_events_lock
Created an attribute constructor for cfg_chg_events_lock for locking mechanism when storing event information for an AP configuration change event Fixes: fd03360215 ("Storing event information for an AP configuration change event") Signed-off-by: Rorie Reyes <rreyes@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Link: https://lore.kernel.org/qemu-devel/20250611211252.82107-1-rreyes@linux.ibm.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
-rw-r--r--hw/vfio/ap.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/hw/vfio/ap.c b/hw/vfio/ap.c
index 874e0d1..1df4438 100644
--- a/hw/vfio/ap.c
+++ b/hw/vfio/ap.c
@@ -52,6 +52,11 @@ static QTAILQ_HEAD(, APConfigChgEvent) cfg_chg_events =
static QemuMutex cfg_chg_events_lock;
+static void __attribute__((constructor)) vfio_ap_global_init(void)
+{
+ qemu_mutex_init(&cfg_chg_events_lock);
+}
+
OBJECT_DECLARE_SIMPLE_TYPE(VFIOAPDevice, VFIO_AP_DEVICE)
static void vfio_ap_compute_needs_reset(VFIODevice *vdev)
@@ -230,13 +235,6 @@ static void vfio_ap_realize(DeviceState *dev, Error **errp)
VFIOAPDevice *vapdev = VFIO_AP_DEVICE(dev);
VFIODevice *vbasedev = &vapdev->vdev;
- static bool lock_initialized;
-
- if (!lock_initialized) {
- qemu_mutex_init(&cfg_chg_events_lock);
- lock_initialized = true;
- }
-
if (!vfio_device_get_name(vbasedev, errp)) {
return;
}