On Tue, Sep 08, 2020 at 04:44:38PM +0100, Daniel P. Berrangé wrote: > On Tue, Sep 08, 2020 at 03:42:58PM +0200, Pavel Hrdina wrote: > > On Tue, Sep 08, 2020 at 03:50:07PM +0400, Roman Bogorodskiy wrote: > > > Pavel Hrdina wrote: > > > > > > > There was one attempt a year ago done by me to drop HAL [1] but it was > > > > never resolved. There was another time when Dan suggested to drop HAL > > > > driver [2] but it was decided to keep it around in case device > > > > assignment will be implemented for FreeBSD and the fact that > > > > virt-manager uses node device driver [3]. > > > > > > > > I checked git history and code and it doesn't look like bhyve supports > > > > device assignment so from that POV it should not block removing HAL. > > > > > > The bhyve driver currently does not support device assignment. > > > Bhyve it self does not support live device attach too. > > > > > > What bhyve does support is passthru of some device types (I have tested > > > NIC passthrough and it works, and also it looks like GPU passthrough > > > also works in some configurations, and also there are some work going on > > > to make it better). > > > > > > I'm wondering if the removal of HAL support will block adding support > > > for host device passthrough? > > > > So I checked qemu driver and we use node device driver only to implement > > these APIs: > > > > virNodeDeviceDettach > > virNodeDeviceDetachFlags > > virNodeDeviceReAttach > > virNodeDeviceReset > > > > which can be used by users or management applications to detach the PCI > > devices from host and prepare them to be used by VMs. This can be done > > manually not using libvirt APIs as well. > > > > So it looks like HAL will not be required to support host device > > assignment. > > That may be true from a strictly technical sense, but most existing mgmt > applications using libvirt expect the node device APIs to exist and won't > enable use of host device assignment without them. That make sense, so implementing host device assignment will require working node device driver. As it was already stated, it is not currently implemented and there are no plans to implement it in near future AFAIK. HAL driver is deprecated, there is no upstream development and it's blocking removal of libdbus from libvirt. Can we agree on dropping HAL now? We can figure out devd support once someone starts working on host device assignment support for bhyve. Pavel
Attachment:
signature.asc
Description: PGP signature