qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] qdev status report


From: Gerd Hoffmann
Subject: [Qemu-devel] qdev status report
Date: Wed, 02 Sep 2009 11:10:41 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Lightning/1.0pre Thunderbird/3.0b3

  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=<name>,<parameters>
Guest side:  -device virtio-blk-pci,drive=<name>


host/guest split: chardevs
--------------------------

I'm working on it.  Plan:
Host side:   -chardev pty,id=<name>
Guest side:  -device serial,chr=<name>

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




reply via email to

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