more granular detection and control to disable/enable PCI-ATA devices

Larry Melia larrymelia at gmail.com
Tue Jun 4 15:31:27 UTC 2013


Hi Alexander-

With you suggestions, I finally was able to get the override driver
working-see
https://github.com/FreeBSDonHyper-V/freebsd-snapshot/blob/hyperv-dev-ata-override/sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c.
While it operates wonderfully, allowing our "enlightened" driver to improve
performance, some versions of Hyper-V still use the native CD-ROM driver,
because there is no "enlightened" support for it in the hypervisor. From my
limited knowledge of the ATA drivers, it seems likely that the PCI-ATA
driver be attached when a CD-ROM is detected, but lower-level drivers
disabled (during a probe) when a hard drive is detected. On Hyper-V,
therefore, a user would be able to configure a PCI/IDE virtual controller
with two devices, the first device a hard disk and the second one a CD-ROM.
The CD-ROM would operate via the native driver, whereas the hard disk would
use the "enlightened" driver (to improve performance).  Is there an easy
way to add more granular detection, disabling the native ATA driver(s)
selectively for hard drives, while allowing CD-ROM devices to be natively
attached? Any suggestions would be very much appreciated.

-Larry


More information about the freebsd-virtualization mailing list