Hi
On Tue, Sep 20, 2011 at 2:46 PM, Daniel P. Berrange <berrange(a)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(a)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....
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.
regards
--
Marc-André Lureau