[libvirt] [PATCH 11/41] qemu: Separate guest CPU validation from command line creation

John Ferlan jferlan at redhat.com
Mon Aug 29 19:21:43 UTC 2016



On 08/12/2016 09:33 AM, Jiri Denemark wrote:
> qemu_command.c should deal with translating our domain definition into a
> QEMU command line and nothing else.
> 
> Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> ---
>  src/qemu/qemu_command.c  |  71 ++++----------------------------
>  src/qemu/qemu_process.c  | 105 +++++++++++++++++++++++++++++++++++++++++++++++
>  tests/qemuxml2argvtest.c |   8 ++--
>  3 files changed, 117 insertions(+), 67 deletions(-)
> 

[...]

> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> index f9ed6f5..2b94ff0 100644
> --- a/tests/qemuxml2argvtest.c
> +++ b/tests/qemuxml2argvtest.c
> @@ -1394,13 +1394,13 @@ mymain(void)
>      DO_TEST_FAILURE("cpu-host-passthrough", NONE);
>      DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM);
>  
> -    driver.caps->host.cpu = cpuHaswell;
> +    qemuTestSetHostCPU(driver.caps, cpuHaswell);
>      DO_TEST("cpu-Haswell", QEMU_CAPS_KVM);
>      DO_TEST("cpu-Haswell2", QEMU_CAPS_KVM);
>      DO_TEST("cpu-Haswell3", QEMU_CAPS_KVM);
>      DO_TEST("cpu-Haswell-noTSX", QEMU_CAPS_KVM);
>      DO_TEST("cpu-host-model-cmt", NONE);
> -    driver.caps->host.cpu = cpuDefault;
> +    qemuTestSetHostCPU(driver.caps, NULL);

Adding this to the previous patch seems to work, but...

>  
>      DO_TEST("encrypted-disk", NONE);
>      DO_TEST("encrypted-disk-usage", NONE);
> @@ -1947,14 +1947,14 @@ mymain(void)
>              QEMU_CAPS_KVM, QEMU_CAPS_MACHINE_OPT,
>              QEMU_CAPS_MACH_VIRT_GIC_VERSION);
>  
> -    driver.caps->host.cpu->arch = VIR_ARCH_AARCH64;
> +    qemuTestSetHostArch(driver.caps, VIR_ARCH_AARCH64);
>      DO_TEST("aarch64-kvm-32-on-64",
>              QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
>              QEMU_CAPS_KVM, QEMU_CAPS_CPU_AARCH64_OFF);
>      DO_TEST_FAILURE("aarch64-kvm-32-on-64",
>              QEMU_CAPS_NODEFCONFIG, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
>              QEMU_CAPS_KVM);
> -    driver.caps->host.cpu->arch = cpuDefault->arch;
> +    qemuTestSetHostArch(driver.caps, VIR_ARCH_NONE);

Adding this one causes failure... Perhaps due to the:

+    if (cpu)
+        caps->host.arch = cpu->arch;

in previous patch?  or perhaps some shortly subsequent patch...

It's not so much an objection to the patch, but by simply adding those
API's in patch 10 I guess I would have expected them to just work, but
trial and error proves otherwise. Of course reading future patches
perhaps sheds even more light (or black magic, voodoo) ;-).

>  
>      DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY);
>      DO_TEST("kvm-pit-delay", QEMU_CAPS_NO_KVM_PIT);
> 




More information about the libvir-list mailing list