qemu: Introduce virQEMUCapsGetMachineDefaultCPU

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Jiri Denemark 2019-09-26 15:22:38 +02:00
parent a882db7bea
commit 02e5cb0d1a
2 changed files with 35 additions and 0 deletions

View File

@ -2194,6 +2194,38 @@ virQEMUCapsGetMachineHotplugCpus(virQEMUCapsPtr qemuCaps,
}
const char *
virQEMUCapsGetMachineDefaultCPU(virQEMUCapsPtr qemuCaps,
const char *name,
virDomainVirtType type)
{
virQEMUCapsAccelPtr accel = virQEMUCapsGetAccel(qemuCaps, type);
qemuMonitorCPUDefsPtr defs = accel->cpuModels;
const char *cpuType = NULL;
size_t i;
if (!name || !defs)
return NULL;
for (i = 0; i < accel->nmachineTypes; i++) {
if (STREQ(accel->machineTypes[i].name, name)) {
cpuType = accel->machineTypes[i].defaultCPU;
break;
}
}
if (!cpuType)
return NULL;
for (i = 0; i < defs->ncpus; i++) {
if (STREQ_NULLABLE(defs->cpus[i].type, cpuType))
return defs->cpus[i].name;
}
return NULL;
}
/**
* virQEMUCapsSetGICCapabilities:
* @qemuCaps: QEMU capabilities

View File

@ -612,6 +612,9 @@ int virQEMUCapsGetMachineMaxCpus(virQEMUCapsPtr qemuCaps,
bool virQEMUCapsGetMachineHotplugCpus(virQEMUCapsPtr qemuCaps,
virDomainVirtType virtType,
const char *name);
const char *virQEMUCapsGetMachineDefaultCPU(virQEMUCapsPtr qemuCaps,
const char *name,
virDomainVirtType type);
void virQEMUCapsFilterByMachineType(virQEMUCapsPtr qemuCaps,
virDomainVirtType virtType,