Kevin Wolf <kw...@redhat.com> writes: > Am 30.10.2012 17:31, schrieb Paolo Bonzini: >> Il 30/10/2012 15:43, Markus Armbruster ha scritto: >>> There's a related argument that I find more compelling: we may want >>> if=ahci to let users choose nicely between IDE and AHCI. Makes sense >>> only if we have boards providing both kind of controllers onboard. q35 >>> doesn't. >> >> I think the main problem is that we haven't hashed out the requirements. >> Since this is QEMU and not libvirt (which uses -drive if=none / -device >> anyway), I suppose we mostly care about direct command-line start. We >> want "qemu-kvm winxp.img" to work, even if q35 is now the default >> machine. This calls for making IDE (not AHCI) the default. > > Yes. I think this is my main requirement: Command lines that work with > 1.2 should usually keep working with whatever version introduces Q35 as > the default. > >> The main drawback of if=ahci is, as pointed out by Markus, that you >> would have to provide both controllers on-board. I think a real ICH9 >> has the compatibility IDE controller on a separate PCI address from the >> SATA controller, so creating both of them is not really out of question. >> Obvious disadvantage, it would depart from real hardware. Linux should >> not care, not sure about SeaBIOS and Windows. > > Okay, so I guess the next step is finding out how real hardware works. > Markus claims that there's no IDE mode on Q35 boards. I find this hard > to believe and a quick search indeed suggests otherwise. > > What you're saying is that PCI addresses might be different for IDE and > SATA mode, but on real hardware only one interface is exposed at the > same time, right? This matches better what I remember, but we'd have to > check the details. > >> At the same time, if all we want is a quick way to switch between IDE >> and AHCI, we could just use machine types. So another proposal is to >> have two machine types, one for ICH9-IDE (pc, the default), one for >> ICH9-AHCI (q35), one for PIIX3-IDE (piix3). Each QEMU release would add >> (up to) three machine types. > > I actually kind of like this solution.
A related option which I had previously suggested is a machine option of "storage". So you can do: qemu --machine q35,storage=ide qemu --machine i440fx,storage=scsi qemu --machine i440fx,storage=virtio etc. I think it's rare that users want to have multiple storage types. They probably this level of granularity. Regards, Anthony Liguori > > Kevin