On 05/09/2016 01:55 PM, Aurelien Jarno wrote:
On 2016-05-04 09:54, Cole Robinson wrote:
> Thanks for the patch.
>
> Can you provide a working mips XML config? We don't have one in the unit test
> suite.
>
> On 05/03/2016 05:23 PM, Aurelien Jarno wrote:
>> The MIPS Malta board has a root PCI controller. It is not sent during
>> migration, so it needs to be added by default.
>>
>
> I'm a bit confused by the migration reference... does specifying the PCI
> controller on the command line somehow convince qemu to send the PCI device
> state during migration? Or am I
No it doesn't convince it to send the PCI device state. The problem is
that the PCI root devices is not created at all on the target side. For
what I understood this is due to the code in qemuDomainDefFormatBuf()
dropping pci-root controller "for migration compatibility".
This can be seen by using virsh managedsave followed by virsh start. The
QEMU command line doesn't include the pci root controller, which causes
the following error: "error: XML error: No PCI buses available". Indeed
looking at the saved image, it is missing from the XML, and this
actually not specific to MIPS.
Hmm. There was another fix in this area recently, but for USB controllers:
commit 192a53e07c5fefd9dad2f310886209b76dcc5d83
Author: Shivaprasad G Bhat <shivaprasadbhat(a)gmail.com>
Date: Fri Apr 29 19:31:51 2016 +0530
send default USB controller in xml to destination during migration
Maybe we can skip the migration back compat in certain cases as well. For
example if mips PCI requires a pci-root controller to be manually specified in
the XML (does it? or does libvirt add it by default?), then we probably want
to skip that PCI check for mips, and maybe other archs too. Probably skip it
in every case except those where libvirt adds a pci-root controller by default
>> Signed-off-by: Aurelien Jarno <aurelien(a)aurel32.net>
>> ---
>> src/qemu/qemu_domain.c | 15 ++++++++++++++-
>> src/qemu/qemu_domain.h | 1 +
>> 2 files changed, 15 insertions(+), 1 deletion(-)
>>
>
> The patch looks fine to me but should have some test suite representation,
> tests/qemuxml2argvtest at least
Ok. I have tried to define a basic xml file similar to the
arm-vexpressa9-basic one. Unfortunately when running the testsuite I
get the following error:
libvirt: Capabilities Utils error : invalid argument: could not find
capabilities for arch=mips
I guess the capabilities for mips should be defined somewhere, but I
fail to see where. Can you please give me a hint?
See for example testQemuAddArmGuest in tests/testutilsqemu.c where this is set
up for armv7l
Thanks,
Cole