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: Thu, 11 Sep 2014 16:16:40 -0400
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, Sep 11, 2014 at 06:40:38PM +0200, Paolo Bonzini wrote:
> Il 11/09/2014 18:35, Gabriel L. Somlo ha scritto:
> >> > Can you configure Chamaleon to avoid the boot prompt?
> > Yes. After doing that, usb starts working once OS X is fully booted.
> > 
> > Works with either piix or q35 just fine.
> > 
> > Does this mean it's likely to be an OVMF uhci/ehci issue specific to Q35 ?
> > (one from which Fedora can recover but OS X can't) ? 
> 
> Yes, that's my interpretation too.
> 
> You did test an UHCI controller, I think, but I don't remember---did you
> test an EHCI controller without companions, using something like
> "-device ich9-usb-ehci1,id=myehci -device usb-keyboard,bus=myehci.0"?

Not only does that work (after applying Jan Vesely's 3-patch series from
http://lists.nongnu.org/archive/html/qemu-devel/2014-09/msg02175.html),
but my "regular" command line starts working as well, since now both
keyboard and mouse get routed to ehci instead of uhci.

> If that works, the issue would be specific to EHCI companion
> controllers.  If that doesn't work, there is at least a generic in the
> EHCI driver---of course there could possibly be another in the companion
> controllers, but I'd try getting EHCI alone to work.

So, here's my command line again:

bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo -smp 4,cores=2 \
  -machine q35 -device ide-drive,bus=ide.2,drive=MacHDD \
  -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.9.img \
  -device isa-applesmc,osk="our...Inc" \
  -netdev user,id=usr0 -device e1000-82545em,netdev=usr0,id=vnet0 \
  -usb -device usb-kbd -device usb-mouse \
  [ -bios OVMF.fd  |  -kernel chameleon_boot ]


With this, I was able to get a better idea what the problem is. With
either OVMF or Chameleon, I still see UHCI 1..3 and EHCI in qtree,
with the mouse and keyboard hanging off of EHCI.

However, from inside the OS X guest's system profiler, I see a
difference:

With Chameleon (and SeaBIOS), I see all three UHCIs (with no attached
devices), and EHCI (with the now-high-speed keyboard and mouse).

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.

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.

So now the question is, how come Fedora can find UHCI 1&2 on Q35+OVMF,
but OS X can't, and what can we do to OVMF (and/or QEMU) to fix it.

Obviously, Jan's patch set woud paper over the issue, as the keyboard
and mouse would go to ehci, but there's still the issue of the
disappearing UHCI's :)

Thanks much,
--Gabriel




reply via email to

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