All associated mailing lists relating to this bug: https://listman.redhat.com/archives/libvir-list/2016-May/msg00197.html - associated code: Signed-off-by: Aurelien Jarno --- src/qemu/qemu_domain.c | 15 ++++++++++++++- src/qemu/qemu_domain.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 173f82c..75b0545 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 173f82c..75b0545 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1763,6 +1763,14 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def, addPCIeRoot = virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_GPEX); break; + case VIR_ARCH_MIPS: + case VIR_ARCH_MIPSEL: + case VIR_ARCH_MIPS64: + case VIR_ARCH_MIPS64EL: + if (qemuDomainMachineIsMalta(def)) + addPCIRoot = true; + break; + case VIR_ARCH_PPC64: case VIR_ARCH_PPC64LE: addPCIRoot = true; @@ -4654,6 +4662,11 @@ qemuDomainMachineIsVirt(const virDomainDef *def) STRPREFIX(def->os.machine, "virt-"); } +bool +qemuDomainMachineIsMalta(const virDomainDef *def) +{ + return STRPREFIX(def->os.machine, "malta"); +} static bool qemuCheckMemoryDimmConflict(const virDomainDef *def, @@ -4830,7 +4843,7 @@ bool qemuDomainMachineHasBuiltinIDE(const virDomainDef *def) { return qemuDomainMachineIsI440FX(def) || - STREQ(def->os.machine, "malta") || + qemuDomainMachineIsMalta(def) || STREQ(def->os.machine, "sun4u") || STREQ(def->os.machine, "g3beige"); } diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 95f821c..adba5fa 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -585,6 +585,7 @@ bool qemuDomainMachineIsI440FX(const virDomainDef *def); bool qemuDomainMachineNeedsFDC(const virDomainDef *def); bool qemuDomainMachineIsS390CCW(const virDomainDef *def); bool qemuDomainMachineIsVirt(const virDomainDef *def); +bool qemuDomainMachineIsMalta(const virDomainDef *def); bool qemuDomainMachineHasBuiltinIDE(const virDomainDef *def); int qemuDomainUpdateCurrentMemorySize(virQEMUDriverPtr driver, -- https://www.spinics.net/linux/fedora/libvir/msg227695.html - references general libvirt pci bus error https://www.spinics.net/linux/fedora/libvir/msg227696.html - associated code: Signed-off-by: Lubomir Rintel --- src/util/virarch.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/util/virarch.h b/src/util/virarch.h index 528f84f8a5..81b1b27a57 100644 --- a/src/util/virarch.h +++ b/src/util/virarch.h @@ -95,6 +95,11 @@ typedef enum { #define ARCH_IS_S390(arch) ((arch) == VIR_ARCH_S390 ||\ (arch) == VIR_ARCH_S390X) +#define ARCH_IS_MIPS(arch) ((arch) == VIR_ARCH_MIPS ||\ + (arch) == VIR_ARCH_MIPSEL ||\ + (arch) == VIR_ARCH_MIPS64 ||\ + (arch) == VIR_ARCH_MIPS64EL) + #define ARCH_IS_MIPS64(arch) ((arch) == VIR_ARCH_MIPS64 ||\ (arch) == VIR_ARCH_MIPS64EL) -- https://www.spinics.net/linux/fedora/libvir/msg227697.html - associated code: Signed-off-by: Lubomir Rintel --- src/qemu/qemu_domain.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 0bae9b9202..b7aad65048 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -3703,6 +3703,14 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, addPCIRoot = true; break; + case VIR_ARCH_MIPS: + case VIR_ARCH_MIPSEL: + case VIR_ARCH_MIPS64: + case VIR_ARCH_MIPS64EL: + if (qemuDomainIsMipsMalta(def)) + addPCIRoot = true; + break; + case VIR_ARCH_ARMV7B: case VIR_ARCH_CRIS: case VIR_ARCH_ITANIUM: @@ -3710,10 +3718,6 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, case VIR_ARCH_M68K: case VIR_ARCH_MICROBLAZE: case VIR_ARCH_MICROBLAZEEL: - case VIR_ARCH_MIPS: - case VIR_ARCH_MIPSEL: - case VIR_ARCH_MIPS64: - case VIR_ARCH_MIPS64EL: case VIR_ARCH_OR32: case VIR_ARCH_PARISC: case VIR_ARCH_PARISC64: --