qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] OVMF, Q35 and USB keyboard/mouse


From: Gabriel L. Somlo
Subject: Re: [Qemu-devel] OVMF, Q35 and USB keyboard/mouse
Date: Fri, 12 Sep 2014 14:18:07 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

Hi Gerd,

On Fri, Sep 12, 2014 at 08:46:19AM +0200, Gerd Hoffmann wrote:
> > Obviously, since QEMU was routing the slow keyboard+mouse to UHCI1,
> > which for some reason gets masked when OVMF is used, things weren't
> > working.
> 
> Try '-device usb-mouse,port=5 -device usb-kbd,port=6'.  That links mouse
> +kbd to the ports which are routed to uhci3.  Which of course also only
> papers over the root cause.  But should do as workaround for the time
> being and is also a useful data point.

That works as well (without Jan's high-speed mouse/kbd patch). The
slow mouse+keyboard do indeed end up hanging off of uhci3, which is
the only one visible to OSX, and things work great (while still
leaving uhci1 and 2 somehow "hidden").

> > With OVMF, I have EHCI with the high-speed (and working)
> > keyboard+mouse, but ONLY ONE UHCI device (UHCI3). UHCI1 UHCI2 do not
> > get detected.
> 
> Now *that* is really strange, especially as UHCI1 is pci function 0,
> without probing that successfully you wouldn't see the other pci
> functions (1+2+7 for uhci2+uhci3+ehci) in the same slot in the first
> place.

I've only ever skimmed through the PCI spec at high speed, and have no
real clue about USB, but one thing I noticed is that by default, the
q35 uhci1-3 and ehci1 devices all share the same pci device (1d).

If I explicitly create "-device ich9-usb-ehci1" and
"-device ich9-usb-ehci1" via the command line, they each get their own
distinct PCI device number, and hanging mice and keyboards off of them
works in that case.

Feel free to ignore me because I'm likely wrong, but any chance there
might be some bug related to how all these share a pci device number in
the default setup ?

Thanks,
--Gabriel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]