From: Jiri Denemark Date: Mon, 17 Jun 2019 14:56:32 +0000 (+0200) Subject: qemu: Make qemuMonitorGetGuestCPU usable on x86 only X-Git-Tag: v5.5.0-rc1~148 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=055f8f6bb953a8a489729d6cd62e55dee058b7e6;p=thirdparty%2Flibvirt.git qemu: Make qemuMonitorGetGuestCPU usable on x86 only It was never implemented or used for anything else anyway. Mainly because it uses CPUID features bits. The function is renamed as qemuMonitorGetGuestCPUx86 to make this explicit. Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index d9d076633d..344aac09f0 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -4080,9 +4080,8 @@ qemuMonitorSetDomainLog(qemuMonitorPtr mon, /** - * qemuMonitorJSONGetGuestCPU: + * qemuMonitorJSONGetGuestCPUx86: * @mon: Pointer to the monitor - * @arch: arch of the guest * @data: returns the cpu data * @disabled: returns the CPU data for features which were disabled by QEMU * @@ -4092,13 +4091,11 @@ qemuMonitorSetDomainLog(qemuMonitorPtr mon, * -1 on other errors. */ int -qemuMonitorGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled) +qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled) { - VIR_DEBUG("arch=%s data=%p disabled=%p", - virArchToString(arch), data, disabled); + VIR_DEBUG("data=%p disabled=%p", data, disabled); QEMU_CHECK_MONITOR(mon); @@ -4106,7 +4103,7 @@ qemuMonitorGetGuestCPU(qemuMonitorPtr mon, if (disabled) *disabled = NULL; - return qemuMonitorJSONGetGuestCPU(mon, arch, data, disabled); + return qemuMonitorJSONGetGuestCPUx86(mon, data, disabled); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 8def4c7311..f166f5f949 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1149,10 +1149,9 @@ void qemuMonitorSetDomainLog(qemuMonitorPtr mon, void *opaque, virFreeCallback destroy); -int qemuMonitorGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled); +int qemuMonitorGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled); int qemuMonitorRTCResetReinjection(qemuMonitorPtr mon); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 2dcd65d86f..ffa1fb5d57 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -7319,9 +7319,8 @@ qemuMonitorJSONCheckCPUx86(qemuMonitorPtr mon) /** - * qemuMonitorJSONGetGuestCPU: + * qemuMonitorJSONGetGuestCPUx86: * @mon: Pointer to the monitor - * @arch: arch of the guest * @data: returns the cpu data of the guest * @disabled: returns the CPU data for features which were disabled by QEMU * @@ -7331,40 +7330,32 @@ qemuMonitorJSONCheckCPUx86(qemuMonitorPtr mon) * -1 on other errors. */ int -qemuMonitorJSONGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled) +qemuMonitorJSONGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled) { virCPUDataPtr cpuEnabled = NULL; virCPUDataPtr cpuDisabled = NULL; int rc; - if (ARCH_IS_X86(arch)) { - if ((rc = qemuMonitorJSONCheckCPUx86(mon)) < 0) - return -1; - else if (!rc) - return -2; - - if (qemuMonitorJSONGetCPUx86Data(mon, "feature-words", - &cpuEnabled) < 0) - goto error; + if ((rc = qemuMonitorJSONCheckCPUx86(mon)) < 0) + return -1; + else if (!rc) + return -2; - if (disabled && - qemuMonitorJSONGetCPUx86Data(mon, "filtered-features", - &cpuDisabled) < 0) - goto error; + if (qemuMonitorJSONGetCPUx86Data(mon, "feature-words", + &cpuEnabled) < 0) + goto error; - *data = cpuEnabled; - if (disabled) - *disabled = cpuDisabled; - return 0; - } + if (disabled && + qemuMonitorJSONGetCPUx86Data(mon, "filtered-features", + &cpuDisabled) < 0) + goto error; - virReportError(VIR_ERR_INTERNAL_ERROR, - _("CPU definition retrieval isn't supported for '%s'"), - virArchToString(arch)); - return -1; + *data = cpuEnabled; + if (disabled) + *disabled = cpuDisabled; + return 0; error: virCPUDataFree(cpuEnabled); diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 78fe97ab18..1bc1df0e3b 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -488,10 +488,9 @@ int qemuMonitorJSONGetCPUx86Data(qemuMonitorPtr mon, const char *property, virCPUDataPtr *cpudata); -int qemuMonitorJSONGetGuestCPU(qemuMonitorPtr mon, - virArch arch, - virCPUDataPtr *data, - virCPUDataPtr *disabled); +int qemuMonitorJSONGetGuestCPUx86(qemuMonitorPtr mon, + virCPUDataPtr *data, + virCPUDataPtr *disabled); int qemuMonitorJSONRTCResetReinjection(qemuMonitorPtr mon); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 47e84e5ef0..db940b02a8 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4149,8 +4149,7 @@ qemuProcessFetchGuestCPU(virQEMUDriverPtr driver, if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) goto error; - rc = qemuMonitorGetGuestCPU(priv->mon, vm->def->os.arch, - &dataEnabled, &dataDisabled); + rc = qemuMonitorGetGuestCPUx86(priv->mon, &dataEnabled, &dataDisabled); if (qemuDomainObjExitMonitor(driver, vm) < 0) goto error; diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index e087d1c256..2ed9133c06 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2487,9 +2487,8 @@ testQemuMonitorJSONGetCPUData(const void *opaque) if (qemuMonitorTestAddItem(test, "qom-get", jsonStr) < 0) goto cleanup; - if (qemuMonitorJSONGetGuestCPU(qemuMonitorTestGetMonitor(test), - VIR_ARCH_X86_64, - &cpuData, NULL) < 0) + if (qemuMonitorJSONGetGuestCPUx86(qemuMonitorTestGetMonitor(test), + &cpuData, NULL) < 0) goto cleanup; if (!(actual = virCPUDataFormat(cpuData))) @@ -2530,9 +2529,8 @@ testQemuMonitorJSONGetNonExistingCPUData(const void *opaque) "}") < 0) goto cleanup; - rv = qemuMonitorJSONGetGuestCPU(qemuMonitorTestGetMonitor(test), - VIR_ARCH_X86_64, - &cpuData, NULL); + rv = qemuMonitorJSONGetGuestCPUx86(qemuMonitorTestGetMonitor(test), + &cpuData, NULL); if (rv != -2) { virReportError(VIR_ERR_INTERNAL_ERROR, "Unexpected return value %d, expecting -2", rv);