}
goto cleanup;
}
+
+bool
+virHostdevNeedsVFIO(const virDomainHostdevDef *hostdev)
+{
+ return virHostdevIsPCIDevice(hostdev) ||
+ virHostdevIsMdevDevice(hostdev);
+}
const char *dom_name,
virDomainDiskDef **disks,
size_t ndisks);
+
+bool
+virHostdevNeedsVFIO(const virDomainHostdevDef *hostdev);
# hypervisor/virhostdev.h
virHostdevFindUSBDevice;
virHostdevManagerGetDefault;
+virHostdevNeedsVFIO;
virHostdevPCINodeDeviceDetach;
virHostdevPCINodeDeviceReAttach;
virHostdevPCINodeDeviceReset;
#include "virfile.h"
#include "virdevmapper.h"
#include "virglibutil.h"
+#include "virhostdev.h"
#define VIR_FROM_THIS VIR_FROM_QEMU
return -1;
}
- if (qemuHostdevNeedsVFIO(dev) &&
+ if (virHostdevNeedsVFIO(dev) &&
qemuCgroupAllowDevicePath(vm, QEMU_DEV_VFIO,
VIR_CGROUP_DEVICE_RW, false) < 0) {
return -1;
return -1;
}
- if (qemuHostdevNeedsVFIO(dev) &&
+ if (virHostdevNeedsVFIO(dev) &&
!qemuDomainNeedsVFIO(vm->def) &&
qemuCgroupDenyDevicePath(vm, QEMU_DEV_VFIO,
VIR_CGROUP_DEVICE_RWM, false) < 0) {
}
-bool
-qemuHostdevNeedsVFIO(const virDomainHostdevDef *hostdev)
-{
- return virHostdevIsPCIDevice(hostdev) ||
- virHostdevIsMdevDevice(hostdev);
-}
-
-
bool
qemuHostdevHostSupportsPassthroughVFIO(void)
{
#include "qemu_conf.h"
-bool qemuHostdevNeedsVFIO(const virDomainHostdevDef *hostdev);
-
bool qemuHostdevHostSupportsPassthroughVFIO(void);
int qemuHostdevUpdateActiveNVMeDisks(virQEMUDriver *driver,
if (path)
*paths = g_slist_prepend(*paths, g_steal_pointer(&path));
- if (qemuHostdevNeedsVFIO(hostdev) &&
+ if (virHostdevNeedsVFIO(hostdev) &&
(!hotplug || !qemuDomainNeedsVFIO(vm->def)))
*paths = g_slist_prepend(*paths, g_strdup(QEMU_DEV_VFIO));