1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-04-01 20:05:19 +00:00

qemu: pass virQEMUDriverConfig to capabilities

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>
This commit is contained in:
Marc-André Lureau 2025-03-16 12:18:38 +04:00 committed by Martin Kletzander
parent 469e161946
commit e008d229f4
4 changed files with 18 additions and 16 deletions

View 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);

View 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);

View 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);

View 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