[libvirt] PATCH add q35 support ide

Laine Stump laine at laine.org
Sat Feb 3 23:10:48 UTC 2018


On 02/01/2018 10:35 PM, Paul Schlacter wrote:
> ping

Sorry, I missed this the first time through.


>
>
> On Thu, Nov 30, 2017 at 6:04 PM, Daniel P. Berrange
> <berrange at redhat.com <mailto:berrange at redhat.com>> wrote:
>
>     On Thu, Nov 30, 2017 at 09:50:01AM +0800, Paul Schlacter wrote:
>     > hello everyone:
>     >     In q35 motherboard use ide,  Currently, the qemu has
>     supported q35
>     > Motherboard support ide bus
>
>     IIRC, this is not quite correct - q35 has a built-in  SATA controller,
>     as opposed to IDE controller. You can potentially add an IDE
>     controller
>     as an optional extra.
>

The first statement is true - Q35 has an integrated SATA controller, not
an IDE. It happens that qemu has hardcoded the device id of the SATA
controller to be "ide" (same as the IDE controller on other archs) which
can make things confusing.

The second statement (you can add an IDE controller as an optional
extra) is true if you are creating the qemu commandline yourself
(bypassing libvirt), but libvirt doesn't support additional IDE
controllers on *any* arch/machinetype (not even 440fx). I had written a
patch to do that a few years ago (not because someone requested it, but
because when fixing sata controller support for Q35, I noticed that it
was possible to add as many IDE controllers as you liked and libvirt
would simply ignore them), but after discussion we decided that we
didn't want to promote use of such an old, slow, controller when there
are so many better ways to connect a disk.

Is there a specific reason why you think you require an IDE controller
on a Q35 virtual machine? Since this patch doesn't actually provide
that, perhaps you simply need to connect your disk device to the sata
controller.


>
>     > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
>     > index cc7596b..2dbade8 100644
>     > --- a/src/qemu/qemu_domain.c
>     > +++ b/src/qemu/qemu_domain.c
>     > @@ -7188,6 +7188,7 @@ bool
>     >  qemuDomainMachineHasBuiltinIDE(const char *machine)
>     >  {
>     >      return qemuDomainMachineIsI440FX(machine) ||
>     > +        qemuDomainMachineIsQ35(machine) ||
>     >          STREQ(machine, "malta") ||
>     >          STREQ(machine, "sun4u") ||
>     >          STREQ(machine, "g3beige");
>
>     I don't see an equivalent  qemuDomainMachineHasBuiltinSATA method,
>     so I wonder if there's any logic we're missing in this respect ?
>     Perhaps Laine or someone more recenty familiar wit the code can
>     comment...
>
>     Regards,
>     Daniel
>     --
>     |: https://berrange.com      -o-   
>     https://www.flickr.com/photos/dberrange
>     <https://www.flickr.com/photos/dberrange> :|
>     |: https://libvirt.org         -o-           
>     https://fstop138.berrange.com :|
>     |: https://entangle-photo.org    -o-   
>     https://www.instagram.com/dberrange
>     <https://www.instagram.com/dberrange> :|
>
>
>
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180203/30c84fa8/attachment-0001.htm>


More information about the libvir-list mailing list