The content is arch specific and checking for Icelake-Server CPU model
on non-x86 architectures does not make sense.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_domain.c | 14 ++++++++++----
src/qemu/qemu_domain.h | 3 ++-
src/qemu/qemu_migration_cookie.c | 2 +-
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 8c85446c3d..31a6509166 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -6644,10 +6644,15 @@ qemuDomainDefCopy(virQEMUDriver *driver,
int
-qemuDomainMakeCPUMigratable(virCPUDef *cpu)
+qemuDomainMakeCPUMigratable(virArch arch,
+ virCPUDef *cpu)
{
- if (cpu->mode == VIR_CPU_MODE_CUSTOM &&
- STREQ_NULLABLE(cpu->model, "Icelake-Server")) {
+ if (cpu->mode != VIR_CPU_MODE_CUSTOM ||
+ !cpu->model ||
+ !ARCH_IS_X86(arch))
+ return 0;
+
+ if (STREQ(cpu->model, "Icelake-Server")) {
/* Originally Icelake-Server CPU model contained pconfig CPU feature.
* It was never actually enabled and thus it was removed. To enable
* migration to QEMU 3.1.0 (with both new and old libvirt), we
@@ -6837,7 +6842,8 @@ qemuDomainDefFormatBufInternal(virQEMUDriver *driver,
return -1;
}
- if (def->cpu && qemuDomainMakeCPUMigratable(def->cpu) < 0)
+ if (def->cpu &&
+ qemuDomainMakeCPUMigratable(def->os.arch, def->cpu) < 0)
return -1;
/* Old libvirt doesn't understand <audio> elements so
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 98c188cc8f..07b0318258 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -1048,7 +1048,8 @@ qemuDomainSupportsCheckpointsBlockjobs(virDomainObj *vm)
G_GNUC_WARN_UNUSED_RESULT;
int
-qemuDomainMakeCPUMigratable(virCPUDef *cpu);
+qemuDomainMakeCPUMigratable(virArch arch,
+ virCPUDef *cpu);
int
qemuDomainInitializePflashStorageSource(virDomainObj *vm,
diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
index 4361949cca..c53d42a018 100644
--- a/src/qemu/qemu_migration_cookie.c
+++ b/src/qemu/qemu_migration_cookie.c
@@ -545,7 +545,7 @@ qemuMigrationCookieAddCPU(qemuMigrationCookie *mig,
mig->cpu = virCPUDefCopy(vm->def->cpu);
- if (qemuDomainMakeCPUMigratable(mig->cpu) < 0)
+ if (qemuDomainMakeCPUMigratable(vm->def->os.arch, mig->cpu) < 0)
return -1;
mig->flags |= QEMU_MIGRATION_COOKIE_CPU;
--
2.44.0