On Tue, Feb 24, 2009 at 10:21:48PM +0000, Mark McLoughlin wrote:
Before starting a guest virNodeDeviceAttach() is intended
to be called on all node devices to be assigned to a guest,
followed by virNodeDeviceReset() on those devices.
Once the guest has been shutdown, virNodeDeviceReset()
followed by virNodeDeviceReAttach() should be called in
order to make the device available to the host again.
This patch merely adds the APIs and stubs out the driver
implementations.
While I can see a point in providing public APIs to attach/detach
drivers to devices - because we need this for Xen driver PCI
passthrough, I'm not sure theres a compelling need for exposing
a reset function, because both Xen & your KVM impl are quite
happy doing the resets themselves.
I think the attach/detach functions should be in the nodedev
driver too, because they're not really part of the HV functionality.
On modern Linux kernels, both Xen & KVM (and any other users) have
the same pci-stub.ko code for managed driver binding. On older Xen
kernels, there is the functionally equivalent pci-back.ko.
A similar capability is really needed for USB devices, to disconnect
them from any host USB driver, and that's not HV specific either.
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|