On Fri, Oct 12, 2012 at 12:06:44PM +0200, Gerd Hoffmann wrote: > Hi, > > >>> I just tried out getting rid of the bridges by default. > >> > >> That clearly raises the question which devices should be created > >> automatically by -M q35. I think the devices which are part of the ich9 > >> chipset should be there by default. /me looks at my laptop which > >> happens to have a ich9 chipset. > > > > The reason this is a bad idea is very simple: we only have a way to add > > devices not to remove them. So if you miss a device which your guest > > needs, it is easy to add, but there is no way to remove. > > Why would you want remove devices? They don't harm when present. And > you can't remove them on real hardware either. Try ordering a ich9 > without sound or usb ;) > > >> Real ich9 has the e1000 @ 00:19.0, so it would make sense to place one > >> there. Adding a default nic will probably create some headache though, > >> so maybe better don't. > > > > And that's just one example. > > It is problematic because the nic needs configuration and configuring a > builtin device is tricky. Also our e1000 model isn't the ich9 one. > > Most other chipset devices are not problematic at all as they are just > controllers where you can attach stuff to (and by default there isn't > anything attached). This includes: > > * pcie ports (waiting for pcie devices plugged in). > * ahci controller (waiting for disks/cdroms being attached). > * intel-hda (waiting for audio coded (hda-*) being attached). > * ehci+uhci (waiting for usb devices being plugged in). > > The stuff being attached/plugged there needs configuration, but not the > controllers themself. > > > Fact is, we don't emulate real hardware exactly. > > But we try to. > > > So let's have a minimal machine and if you want to add e1000 audio etc, > > you can do this. We can even teach management to do it with friendly > > UI as opposed to cryptic machine types. > > /me disagrees. >
What if we have a 'basic' configuration as Michael suggests, but have an easy way to specify that we want these additional built-in controllers/bridges at their default slot. For example, for q35 I can currently pass '-usb' and it will create a uhci at slot 1d func 0. (I have small patch to add ehci as well). Not sure if we have appropriate options we can piggy-back on for default sound and bridges, but we can add these later, if this makese sense. Thanks, -Jason