From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42617) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTH5t-0000mr-Uq for qemu-devel@nongnu.org; Tue, 30 Oct 2012 15:03:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TTH5m-0007SF-Md for qemu-devel@nongnu.org; Tue, 30 Oct 2012 15:03:21 -0400 Received: from mail-ie0-f173.google.com ([209.85.223.173]:65029) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTH5m-0007Ri-Hw for qemu-devel@nongnu.org; Tue, 30 Oct 2012 15:03:14 -0400 Received: by mail-ie0-f173.google.com with SMTP id 17so930957iea.4 for ; Tue, 30 Oct 2012 12:03:13 -0700 (PDT) From: Anthony Liguori In-Reply-To: <509008A3.5060908@redhat.com> References: <87k3u82f7b.fsf@blackfin.pond.sub.org> <509000E8.9090703@redhat.com> <509008A3.5060908@redhat.com> Date: Tue, 30 Oct 2012 14:03:08 -0500 Message-ID: <87bofjvl3n.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] On block interface types in general, IF_AHCI in particular List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf , Paolo Bonzini Cc: qemu-devel@nongnu.org, Jason Baron , Alexander Graf , Markus Armbruster , Gerd Hoffmann , Stefan Hajnoczi Kevin Wolf 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