]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: pass virQEMUDriverConfig to capabilities
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Sun, 16 Mar 2025 08:18:38 +0000 (12:18 +0400)
committerMartin Kletzander <mkletzan@redhat.com>
Tue, 18 Mar 2025 13:15:56 +0000 (14:15 +0100)
This will help with the following patch, which also requires config access.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
src/qemu/qemu_conf.c
tests/domaincapstest.c

index d13b4c81091859dfd3f48e33433a3ab53c0048d5..ca99e61896be0faec053c98a4e24024484a6af3c 100644 (file)
@@ -6926,12 +6926,11 @@ virQEMUCapsFillDomainFeatureHypervCaps(virQEMUCaps *qemuCaps,
 
 
 int
-virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
+virQEMUCapsFillDomainCaps(virQEMUDriverConfig *cfg,
+                          virQEMUCaps *qemuCaps,
                           virArch hostarch,
                           virDomainCaps *domCaps,
-                          bool privileged,
-                          virFirmware **firmwares,
-                          size_t nfirmwares)
+                          bool privileged)
 {
     virDomainCapsOS *os = &domCaps->os;
     virDomainCapsDeviceDisk *disk = &domCaps->disk;
@@ -6948,6 +6947,8 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
     virDomainCapsLaunchSecurity *launchSecurity = &domCaps->launchSecurity;
     virDomainCapsDeviceNet *net = &domCaps->net;
     virDomainCapsDevicePanic *panic = &domCaps->panic;
+    virFirmware **firmwares = cfg->firmwares;
+    size_t nfirmwares = cfg->nfirmwares;
 
     virQEMUCapsFillDomainFeaturesFromQEMUCaps(qemuCaps, domCaps);
 
index e836d107aad1ead7d96a77487b8753aca6b099e8..733b84029d7795b8a79d5eecf7211164b48de47d 100644 (file)
@@ -28,6 +28,8 @@
 #include "virfilecache.h"
 #include "virenum.h"
 
+typedef struct _virQEMUDriverConfig virQEMUDriverConfig;
+
 /*
  * Internal flags to keep track of qemu command line capabilities
  *
@@ -865,12 +867,11 @@ void virQEMUCapsInitGuestFromBinary(virCaps *caps,
                                     virQEMUCaps *qemuCaps,
                                     virArch guestarch);
 
-int virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
+int virQEMUCapsFillDomainCaps(virQEMUDriverConfig *cfg,
+                              virQEMUCaps *qemuCaps,
                               virArch hostarch,
                               virDomainCaps *domCaps,
-                              bool privileged,
-                              virFirmware **firmwares,
-                              size_t nfirmwares);
+                              bool privileged);
 
 void virQEMUCapsFillDomainMemoryBackingCaps(virQEMUCaps *qemuCaps,
                                             virDomainCapsMemoryBacking *memoryBacking);
index 65016feb6aebe6d3bec141d2994abeaf22dc0ef9..79634511db2854cf79c2abdc15f4d9cc3579abc2 100644 (file)
@@ -1623,10 +1623,11 @@ virQEMUDriverGetDomainCapabilities(virQEMUDriver *driver,
     if (!(domCaps = virDomainCapsNew(path, machine, arch, virttype)))
         return NULL;
 
-    if (virQEMUCapsFillDomainCaps(qemuCaps, driver->hostarch,
-                                  domCaps, driver->privileged,
-                                  cfg->firmwares,
-                                  cfg->nfirmwares) < 0)
+    if (virQEMUCapsFillDomainCaps(cfg,
+                                  qemuCaps,
+                                  driver->hostarch,
+                                  domCaps,
+                                  driver->privileged) < 0)
         return NULL;
 
     return g_steal_pointer(&domCaps);
index 96dc029af37a53189893cbd1df168a6a45255d70..71e181d1796e57b0803e958b980dac1db99bc1bf 100644 (file)
@@ -99,10 +99,9 @@ fillQemuCaps(virDomainCaps *domCaps,
     if (!domCaps->machine)
         domCaps->machine = g_strdup(virQEMUCapsGetPreferredMachine(qemuCaps, virtType));
 
-    if (virQEMUCapsFillDomainCaps(qemuCaps, domCaps->arch, domCaps,
-                                  false,
-                                  cfg->firmwares,
-                                  cfg->nfirmwares) < 0)
+    if (virQEMUCapsFillDomainCaps(cfg,
+                                  qemuCaps, domCaps->arch, domCaps,
+                                  false) < 0)
         return -1;
 
     /* The function above tries to query host's VFIO capabilities by calling