qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] On block interface types in general, IF_AHCI in particu


From: Anthony Liguori
Subject: Re: [Qemu-devel] On block interface types in general, IF_AHCI in particular
Date: Tue, 30 Oct 2012 16:12:35 -0500
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

Kevin Wolf <address@hidden> 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.

Alex and I looked into this a while ago.  In compat mode, the first four
SATA drives are accessable as IDE devices.  There is no way to access
them through AHCI.

In native mode, all SATA drivers are only accessible in AHCI mode.
There's no way to access them as IDE.

I think 'compat' is a reasonable mode to implement by default in q35.
If a user wants to only use sata, they can start at unit=4.  But
existing guests should Just Work because the first four drives will
continue to look like IDE.

Regards,

Anthony Liguori

>
>> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]