From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45398) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTFF9-0007mJ-Q1 for qemu-devel@nongnu.org; Tue, 30 Oct 2012 13:04:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TTFF5-0003eV-LA for qemu-devel@nongnu.org; Tue, 30 Oct 2012 13:04:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33254) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTFF5-0003eO-Co for qemu-devel@nongnu.org; Tue, 30 Oct 2012 13:04:43 -0400 Message-ID: <509008A3.5060908@redhat.com> Date: Tue, 30 Oct 2012 18:04:35 +0100 From: Kevin Wolf MIME-Version: 1.0 References: <87k3u82f7b.fsf@blackfin.pond.sub.org> <509000E8.9090703@redhat.com> In-Reply-To: <509000E8.9090703@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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: Paolo Bonzini Cc: Anthony Liguori , qemu-devel@nongnu.org, Jason Baron , Alexander Graf , Markus Armbruster , Gerd Hoffmann , Stefan Hajnoczi 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. Kevin