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.
If the host device assignment will be implemented and these API required
we can figure out how to use devd instead of HAL.
Pavel