[libvirt] [PATCH] qemu: Support chardevs with ARM virt machines

Andrea Bolognani abologna at redhat.com
Sat Jun 24 13:37:20 UTC 2017

On Fri, 2017-06-23 at 18:32 +0200, Christoffer Dall wrote:
> > You mention in [1] that applying this patch and using a
> > recent QEMU fixes the problem for you, however I can't
> > say the same: I still get
>> >   -device isa-serial,chardev=charserial0,id=serial0:
> >   No 'ISA' bus found for device 'isa-serial'
> Well that's not the bug reported in 2777.  If you try to create an ISA
> bus or configure your domain with an ISA bus on AArch64 your are bound
> to fail, because we never had, and we never will have, support for an
> ISA bus on AArch64.

Sure, I'm aware of that.

> To verify what this patch changes, you can use the test xml file
> listed in [1] as well:
> <domain type='kvm'>
>   <name>testlogfile</name>
>   <memory unit='KiB'>524288</memory>
>   <os>
>     <type arch='aarch64' machine='virt-2.7'>hvm</type>
>   </os>
>   <devices>
>     <serial type='pty'>
>       <log file='/tmp/testlogfile.log' append='off'/>
>       <target port='0'/>
>     </serial>
>   </devices>
> </domain>
> Or any working domain configuration where you add <log file='...' />
> to the domain definition.

In both cases, I get the error reported in my previous

You didn't really answer my question, though: can *you*
start such a guest succesfully using a patched libvirt?
And if so, what is the corresponding QEMU command line?

> It may be that we have an additional bug in libvirt that it under some
> circumstances tries to create an ISA bus with an AArch64 VM, but I
> don't see that being related to the patch above?

It's not.

> Note that the submitted patch fixes virQEMUCapsSupportsChardev, which
> should be independent from any ISA bus fixes in libvirt, but given my
> very limited experience with libvirt, I may be wrong here.

No, you're correct.

> In summary, if your test setup goes from "error: unsupported
> configuration: logfile not supported in this QEMU binary" to "-device
> isa-serial,chardev=charserial0,id=serial0: No 'ISA' bus found for
> device 'isa-serial'" then I'd argue that my patch solves the first
> issue.

The way I see it, the bug is about libvirt being unable to
launch guests which use the <console><log> feature, and with
that in mind your patch is correct but doesn't solve the
issue, because even thought that specific error is gone you
immediately run into a different one and your guest is still
unable to start.

Just to be clear: I'm not against this patch, we definitely
want to fix virQEMUCapsSupportsChardev(). What gave me pause
is simply the fact that you seemed to claim it made the
<console><log> feature usable, which I'm still unconvinced
is actually the case.

Andrea Bolognani / Red Hat / Virtualization

More information about the libvir-list mailing list