qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] qdev and compound devices


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] qdev and compound devices
Date: Thu, 23 Jun 2011 16:55:16 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110419 Red Hat/3.1.10-1.el6_0 Thunderbird/3.1.10

On 06/23/11 15:01, Hans de Goede wrote:
Hi all,

I've been working on adding support to the usb-ehci code
to have an uhci companion controller. This is actually
working quite well, and the code is pretty nice too,
see:
http://cgit.freedesktop.org/~jwrdegoede/qemu/log/?h=usbredir

Note the last commit likely needs to be split into 2, and
that tree contains some other stuff too.

Anyways to add support for a companion controller the
logical thing to do would be to do:
s->companion = pci_create_simple(bus, companion_devfn,
"usb-ehci-uhci-companion");

 From the qdev initfn for usb-ehci, this works if
I create the usb-ehci instance from pc_init1() from
hw/pc_piix.c . But for some reason it does not work
if I simple add: "-device usb-ehci, multifunction=on" to
the qemu cmdline. The device gets created, but no ioports
/ interrupts get assigned, and it does not show up in
lspci in the guest.

Basically we'll want be able to create a multifunction device like this:

address@hidden ~]# lspci -s1d
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)

Ideally via "-device ich9-ehci-uhci,addr=1d" or simliar. Asking the user to create the four subdevices manually, with properties set correctly to wind up the usb port relations is kida insane ...

Ideas how to do that best?

cheers,
  Gerd



reply via email to

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