From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Milrg-0005Re-Bu for qemu-devel@nongnu.org; Wed, 02 Sep 2009 05:10:52 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Milra-0005Jn-L6 for qemu-devel@nongnu.org; Wed, 02 Sep 2009 05:10:50 -0400 Received: from [199.232.76.173] (port=34090 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Milra-0005Jc-C1 for qemu-devel@nongnu.org; Wed, 02 Sep 2009 05:10:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:64173) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MilrZ-0002v7-S8 for qemu-devel@nongnu.org; Wed, 02 Sep 2009 05:10:46 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n829Aivo030927 for ; Wed, 2 Sep 2009 05:10:44 -0400 Received: from zweiblum.home.kraxel.org (vpn2-9-25.ams2.redhat.com [10.36.9.25]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id n829AgTO020698 for ; Wed, 2 Sep 2009 05:10:43 -0400 Message-ID: <4A9E3691.5070608@redhat.com> Date: Wed, 02 Sep 2009 11:10:41 +0200 From: Gerd Hoffmann MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] qdev status report List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org" Hi, This is a summary of where we stand in terms of converting drivers to qdev (with pc being the main focus). qdev status report ================== There are basically three different states a driver can be in: not converted Obvious, right? partly converted The device will appear in the qdev tree. It will be visible in the 'info qtree' monitor command (when properly connected all the way up to the main system bus). The setup still goes the old, hard-coded code paths for setting up device parameters though. fully converted The device is setup uses qdev properties for all device parameters. Which means you can create fully functional instances of the device using the -device command line switch. Note that not all qemu configuration is in the qdev tree. We have host side state and guest side state. qdev only handles the guest side state, i.e. the devices seen by the guest. The host side state is not covered by qdev. Having a clear split between host and guest state is required though. Linking host state to a guest device is done using properties. host/guest split: drives ------------------------ Works. Host side: -drive if=none,id=, Guest side: -device virtio-blk-pci,drive= host/guest split: chardevs -------------------------- I'm working on it. Plan: Host side: -chardev pty,id= Guest side: -device serial,chr= Note: Creating named+unconnected chardevs is also useful for slirp forwarding. host/guest split: nics ---------------------- Not investigated yet in detail. The current way of having a NICInfo pointer as DeviceState->nd is a big hack. The info in NICInfo should be attributes instead, and in fact some already covered by qdev. Big question is how we'll link the guest nic to the host side. Property with a vlan number? IIRC there are plans to replace vlans with something else, what is the state there? pc driver conversion status --------------------------- core stuff: pic,apic,cpus,memory -- not converted isa: floppy -- partly converted isa: ps/2 -- partly converted isa: all others: not converted pci: hostbridge (i440fx) -- partly converted pci: all vga -- partly converted -> vgabios is not handled. pci: nics -- partly converted -> see above: nic guest/host split. -> also: bootrom is not handled. pci sound -- fully converted virtio-blk -- fully converted virtio-balloon -- fully converted virtio-console -- party converted -> depends on chardev work scsi -- fully converted -> not merged yet, patches went to the list a few days ago. usb uhci -- fully converted usb ohci -- pci version is fully converted. usb hid -- fully converted usb msd -- fully converted usb others -- partly converted -> all usb not merged yet, patches went to the list a few days ago. -> some usb devs depend on chardev work. ide -- not converted -> I'm working on it. watchdogs -- fully converted serial,parallel -- not converted -> depends on chardev work bluetooth -- not converted cheers, Gerd