On Thu, 2009-07-09 at 09:56 +0200, Gerd Hoffmann wrote:
We could have each machine type register a list of default options.
Using qdev properties that should be doable in a fairly generic way,
virtio-blk-pci and virtio-console-pci get a "class" property.
virtio-net-pci gets a "msi" property. ide-disk+cdrom gets a
"fw-version" property (well, not yet, when being converted to qdev).
pc-0.10 could then register a list of default properties, i.e.
"virtio-blk-pci" => "class=0x??"
"virtio-console-pci" => "class=0x??"
"virtio-net-pci => "msi=0"
"ide-disk" => "fw-version=0.10.0"
When creating devices qdev would apply them.
I can prototype that.
I think this would be a very nice way of making what I did more generic,
but with the same external interface.
Time is running short for 0.11, though, so I'd suggest it could be an
incremental cleanup on top of the patches I posted.
If we're settled on adding '-M pc-0-10', I next want to:
1) add '-M pc-0-11' and make it the default
2) make '-M pc' a symlink to the latest machine type
i.e. 'qemu-system-x86_64 -M ?' would give:
Supported machines are:
pc Standard PC with latest features
pc-0-11 Standard PC compatible with qemu 0.11.x (default)
pc-0-10 Standard PC compatible with qemu 0.10.x
isapc ISA-only PC
and libvirt, when creating a guest for the first time would parse this
output for the default value and store it in the XML config:
<type arch='x86_64' machine='pc-0-11'>hvm</type>