From: Paolo Bonzini <pbonzini@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Anthony Liguori <anthony@codemonkey.ws>,
Jason Baron <jbaron@redhat.com>,
qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>,
Gerd Hoffmann <kraxel@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] On block interface types in general, IF_AHCI in particular
Date: Tue, 30 Oct 2012 17:31:36 +0100 [thread overview]
Message-ID: <509000E8.9090703@redhat.com> (raw)
In-Reply-To: <87k3u82f7b.fsf@blackfin.pond.sub.org>
Il 30/10/2012 15:43, Markus Armbruster ha scritto:
> The argument that we must have IF_AHCI because AHCI needs different
> guest OS drivers than IDE doesn't hold water. Plenty of precedence
> above: IF_IDE can get you an ide-hd connected to some IDE controller, or
> a virtio-blk-s390 device
That was a bad shortcut for introducing default_if. Shame on Alex. :)
> , and IF_SCSI can get you a scsi-hd connected to
> totally different SCSI HBAs. I can't see why IF_IDE giving you an
> ide-hd connected to ich9-ahci on q35 would be any different.
>
> 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.
Note that libvirt already went for (effectively) if=ahci, because they
support a <controller type='sata'> XML element. But libvirt does not
care about verbosity, because their XML is not meant to be typed on the
command line. They do have some magic in order to create default
controllers but not to the level of QEMU.
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.
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.
Paolo
next prev parent reply other threads:[~2012-10-30 16:31 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-30 14:43 [Qemu-devel] On block interface types in general, IF_AHCI in particular Markus Armbruster
2012-10-30 15:16 ` Jason Baron
2012-10-30 16:31 ` Paolo Bonzini [this message]
2012-10-30 17:04 ` Kevin Wolf
2012-10-30 19:03 ` Anthony Liguori
2012-10-30 21:12 ` Anthony Liguori
2012-10-31 13:58 ` Markus Armbruster
2012-10-31 14:01 ` Peter Maydell
2012-10-31 14:09 ` Paolo Bonzini
2012-10-31 14:20 ` Markus Armbruster
2012-10-31 14:40 ` Paolo Bonzini
2012-10-31 14:43 ` Alexander Graf
2012-10-31 14:46 ` Paolo Bonzini
2012-10-31 16:00 ` Anthony Liguori
2012-10-31 16:05 ` Alexander Graf
2012-10-31 16:46 ` Anthony Liguori
2012-10-31 16:57 ` Alexander Graf
2012-10-31 18:32 ` Anthony Liguori
2012-10-31 16:48 ` Paolo Bonzini
2012-10-31 16:21 ` Kevin Wolf
2012-10-31 16:32 ` Paolo Bonzini
2012-10-31 16:35 ` Alexander Graf
2012-10-31 16:50 ` Paolo Bonzini
2012-11-01 8:50 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=509000E8.9090703@redhat.com \
--to=pbonzini@redhat.com \
--cc=agraf@suse.de \
--cc=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=jbaron@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).