Sponsored by: Future Crew, LLC
Signed-off-by: Alexander Shursha <kekek2(a)ya.ru>
---
src/bhyve/bhyve_capabilities.c | 2 +-
src/conf/node_device_conf.c | 2 +-
src/node_device/node_device_driver.c | 2 +-
src/node_device/node_device_udev.c | 2 ++
src/util/virmdev.c | 2 +-
src/util/virpci.c | 2 +-
tests/domaincapsdata/bhyve_basic.x86_64.xml | 3 ++-
tests/domaincapsdata/bhyve_fbuf.x86_64.xml | 3 ++-
tests/domaincapsdata/bhyve_uefi.x86_64.xml | 3 ++-
9 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c
index b065256cf0..fcef91c435 100644
--- a/src/bhyve/bhyve_capabilities.c
+++ b/src/bhyve/bhyve_capabilities.c
@@ -108,7 +108,7 @@ virBhyveDomainCapsFill(virDomainCaps *caps,
VIR_DOMAIN_CAPS_ENUM_SET(caps->video.modelType, VIR_DOMAIN_VIDEO_TYPE_GOP);
}
- caps->hostdev.supported = VIR_TRISTATE_BOOL_NO;
+ caps->hostdev.supported = VIR_TRISTATE_BOOL_YES;
caps->features[VIR_DOMAIN_CAPS_FEATURE_IOTHREADS] = VIR_TRISTATE_BOOL_NO;
caps->features[VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO] = VIR_TRISTATE_BOOL_NO;
caps->features[VIR_DOMAIN_CAPS_FEATURE_GENID] = VIR_TRISTATE_BOOL_NO;
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 88486a5f2d..0a1d649a40 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -3107,7 +3107,7 @@ virNodeDeviceSyncMdevActiveConfig(virNodeDeviceDef *def)
}
}
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
int
virNodeDeviceGetSCSIHostCaps(virNodeDevCapSCSIHost *scsi_host)
diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
index 123b16a292..592f72fe52 100644
--- a/src/node_device/node_device_driver.c
+++ b/src/node_device/node_device_driver.c
@@ -111,7 +111,7 @@ int nodeConnectIsAlive(virConnectPtr conn G_GNUC_UNUSED)
return 1;
}
-#if defined (__linux__) && defined(WITH_UDEV)
+#if (defined(__linux__) || defined(__FreeBSD__)) && defined(WITH_UDEV)
/* NB: It was previously believed that changes in driver name were
* relayed to libvirt as "change" events by udev, and the udev event
* notification is setup to recognize such events and effectively
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 344b39e97a..e5dc021a6a 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -432,6 +432,7 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state,
char *p;
bool privileged = false;
+#ifndef __FreeBSD__
linkpath = g_strdup_printf("%s/config", udev_device_get_syspath(device));
if (virFileWaitForExists(linkpath, 10, 100) < 0) {
virReportSystemError(errno,
@@ -439,6 +440,7 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state,
linkpath);
goto cleanup;
}
+#endif
VIR_WITH_MUTEX_LOCK_GUARD(&driver_state->lock) {
privileged = driver_state->privileged;
diff --git a/src/util/virmdev.c b/src/util/virmdev.c
index 6ecdbdf0ab..3a07ba75f2 100644
--- a/src/util/virmdev.c
+++ b/src/util/virmdev.c
@@ -565,7 +565,7 @@ virMediatedDeviceParentGetAddress(const char *sysfspath,
return -1;
}
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
ssize_t
virMediatedDeviceGetMdevTypes(const char *sysfspath,
diff --git a/src/util/virpci.c b/src/util/virpci.c
index 3f95fa2b3f..7acdc56545 100644
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -2482,7 +2482,7 @@ virPCIGetVirtualFunctions(const char *sysfs_path,
}
-#ifdef __linux__
+#if defined(__linux__) || defined(__FreeBSD__)
virPCIDeviceAddress *
virPCIGetDeviceAddressFromSysfsLink(const char *device_link)
diff --git a/tests/domaincapsdata/bhyve_basic.x86_64.xml
b/tests/domaincapsdata/bhyve_basic.x86_64.xml
index dd054577c0..fb9bf54a92 100644
--- a/tests/domaincapsdata/bhyve_basic.x86_64.xml
+++ b/tests/domaincapsdata/bhyve_basic.x86_64.xml
@@ -26,7 +26,8 @@
</disk>
<graphics supported='no'/>
<video supported='no'/>
- <hostdev supported='no'/>
+ <hostdev supported='yes'>
+ </hostdev>
</devices>
<features>
<gic supported='no'/>
diff --git a/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
b/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
index 0b1d9c17d7..1ec5706aed 100644
--- a/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
+++ b/tests/domaincapsdata/bhyve_fbuf.x86_64.xml
@@ -43,7 +43,8 @@
<value>gop</value>
</enum>
</video>
- <hostdev supported='no'/>
+ <hostdev supported='yes'>
+ </hostdev>
</devices>
<features>
<gic supported='no'/>
diff --git a/tests/domaincapsdata/bhyve_uefi.x86_64.xml
b/tests/domaincapsdata/bhyve_uefi.x86_64.xml
index 69fff197a7..f76cf91acb 100644
--- a/tests/domaincapsdata/bhyve_uefi.x86_64.xml
+++ b/tests/domaincapsdata/bhyve_uefi.x86_64.xml
@@ -35,7 +35,8 @@
</disk>
<graphics supported='no'/>
<video supported='no'/>
- <hostdev supported='no'/>
+ <hostdev supported='yes'>
+ </hostdev>
</devices>
<features>
<gic supported='no'/>
--
2.47.1