[libvirt] [PATCH] qemu: qxl devices don't support multifunction yet

Marc-André Lureau marcandre.lureau at gmail.com
Tue Sep 20 13:02:45 UTC 2011


On Tue, Sep 20, 2011 at 2:46 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
> On Tue, Sep 20, 2011 at 02:41:44PM +0200, Marc-André Lureau wrote:
>> Hi
>> On Tue, Sep 20, 2011 at 3:11 AM, Wen Congyang <wency at cn.fujitsu.com> wrote:
>> >
>> > So I think qxl device supports multifunction.
>> >
>> It works on Linux, but not on Windows. It is most likely a driver bug,
>> but nobody so far found a solution.
>> Using windows kernel debugger, the only "interesting" message I could find is:
>> "VIDEOPRT: Multifunction board not allowed to start"
>> (I compared windows kernel log of various pnp/pci/video mask with and
>> without multifunction qxl, it didn't help me to find why windows
>> refuse to start it)
> Google brought me to these pages
> http://msdn.microsoft.com/en-us/library/ff542778%28v=VS.85%29.aspx
> http://msdn.microsoft.com/en-us/library/windows/hardware/ff542756%28v=vs.85%29.aspx
> Which suggest we need a different .inf file to refer to something
> called 'mf.sys'. I've no idea whether this is relevant or not, but
> perhaps one of the windows QXL devs can take a look at it.

I read it differently, to me PCI multifunction devices are handled by
the system mf.sys. (the PCI multifunction page doesn't say anything
about mf.sys)

"The system supplied multifunction driver (mf.sys) can handle the
bus-level enumeration and resource allocation requirements for the
device, and the system-supplied INF (mf.sys) can install the
multifunction device. You need to supply only a function driver and
INF file for each of the individual device functions.
If the device does not comply with the standard for its bus, you might
need to supply a driver equivalent to mf.sys in functionality, in
addition to function drivers and INF files for the device functions."

Also, virtio devices seem to work fine with multifunction without
special mf.sys case, from what I can see.


Marc-André Lureau

More information about the libvir-list mailing list