Qdev status: Difference between revisions
(qdev status as of 2009-10-14) |
m (Fix typo) |
||
Line 11: | Line 11: | ||
* Character devices done | * Character devices done | ||
** Host side: -chardev pty,id=<name> | ** Host side: -chardev pty,id=<name> | ||
** Guest side: -device isa-serial, | ** Guest side: -device isa-serial,chardev=<name> | ||
** A few small issues remain, e.g. -device isa-serial still requires -serial none to work. See "default optional devices" below. | ** A few small issues remain, e.g. -device isa-serial still requires -serial none to work. See "default optional devices" below. | ||
Revision as of 12:42, 22 October 2009
qdev Status
qdev is a QEMU-internal API for device configuration and creation. It's the machinery that makes -device and device_add / device_del possible. Devices are being converted to qdev, and qdev evolves along with that. This page tracks how far we got, and what's still left to do.
Host/guest split
- Drives done
- Host side: -drive if=none,id=<name>,<parameters>
- Guest side: -device virtio-blk-pci,drive=<name>
- Character devices done
- Host side: -chardev pty,id=<name>
- Guest side: -device isa-serial,chardev=<name>
- A few small issues remain, e.g. -device isa-serial still requires -serial none to work. See "default optional devices" below.
- NICs are still in RFC stage. Gerd and Mark posted patches for discussion. Mark proposed -netdev, similar in spirit to -chardev.
PC driver conversion status
- PIC, APIC, CPUs, memory not converted
- i440FX/PIIX3 done (host bridge, ISA bridge, USB, IDE) except for ACPI (PIIX3 function 3)
- ISA FDC, PS/2 keyboard & mouse, RTC, serial, parallel done
- Working on nicer defaults for -device serial and parallel
- VGA done (all variants, ISA & PCI), except for ROMs (see "option ROMs" below)
- NICs partly converted, missing are host/guest split (see above) and boot ROMs (see "option ROMs" below)
- Audio done, except for a few rarely used ISA devices
- Virtio done, except virtio-console still needs chardev hooked up (Amit's working on it as part of vmchannel)
- SCSI done
- USB HID (tablet, mouse, keyboard), storage, hub done.
- USB serial, net, host (pass-through) serial partly converted.
- IDE disks done, but see "default optional devices" below
- Watchdogs done
- Bluetooth not converted
- Option ROMs not done, but getting very close
Default optional devices
QEMU creates a bunch of optional devices (NIC, CD-ROM, VGA, ...). Some of them can be suppressed, some not. Default devices get in the way when you work with -device & friends. For instance, ide1/master is untouchable, because QEMU insists on putting a CD-ROM there. Being discussed upstream.
Hot plug
device_add / device_del are on par with -device: Any device you can create with -device you can hot-plug with device_add / device_del. As long as it's hot-pluggable, of course.
drive_add is on par with -drive. May still need drive_del.
Still need equivalents to -chardev and future -netdev (what drive_add is to -drive).
Resources
Gerd's git tree