From nobody Fri Apr 19 00:31:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1562879149; cv=none; d=zoho.com; s=zohoarc; b=NED0dQH5f1WrqeQzFFKosptRbtGM2WSpZSjsG6Qe0j7GAfPD4f8pDyMXB/xf225EmU6NvIy5emr7w5sG5Nc4xG9EG+EYcXuUiOs1QzudkxWn2uVCG9jdzrYuyzXT2erzB9GH7On744EdrMGnAZBskwfZJZgP0WQOR9shRrdRH+Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562879149; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=oaDjJJIXWBd/EJ9RU2ZWT3ZoLlsdwG4CaJM2KLiXi0I=; b=amRbhhnQCwaYtGqJgGGPrMfskh8P5Y/SVfvmOYdorGBLfAxVnRYHxNZiIhJLDRTTOAlIGf4+ERsBqjq+Fn24R1xmmpxVZKWzBxJqjzXU55HbyPENpBViESVdH6CrBWbhRkvAtpcFvGe+bpgSDAnldA/dDOfDcDzXb4gSEbblWHA= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1562879149209895.583693287655; Thu, 11 Jul 2019 14:05:49 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F052D308FBB1; Thu, 11 Jul 2019 21:05:43 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B8AA2600D1; Thu, 11 Jul 2019 21:05:42 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 4A5E01833002; Thu, 11 Jul 2019 21:05:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x6BL5c6J012437 for ; Thu, 11 Jul 2019 17:05:38 -0400 Received: by smtp.corp.redhat.com (Postfix) id E615E10002B9; Thu, 11 Jul 2019 21:05:38 +0000 (UTC) Received: from aegolius.redhat.com (ovpn-118-68.phx2.redhat.com [10.3.118.68]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B42111001281 for ; Thu, 11 Jul 2019 21:05:38 +0000 (UTC) From: Jonathon Jongsma To: libvir-list@redhat.com Date: Thu, 11 Jul 2019 16:05:31 -0500 Message-Id: <20190711210533.11479-2-jjongsma@redhat.com> In-Reply-To: <20190711210533.11479-1-jjongsma@redhat.com> References: <20190711210533.11479-1-jjongsma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 1/3] qemu: Add bochs-display capability X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Thu, 11 Jul 2019 21:05:47 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Check whether qemu supports the bochs-display device and set a capability. Update tests. Signed-off-by: Jonathon Jongsma Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 4 ++++ src/qemu/qemu_capabilities.h | 3 +++ tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + 12 files changed, 17 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 02e84edc15..65192469da 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -533,6 +533,9 @@ VIR_ENUM_IMPL(virQEMUCaps, "x86-max-cpu", "cpu-unavailable-features", "canonical-cpu-features", + + /* 335 */ + "bochs-display", ); =20 =20 @@ -1121,6 +1124,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[= ] =3D { { "virtio-serial-pci-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL = }, { "virtio-serial-pci-non-transitional", QEMU_CAPS_VIRTIO_PCI_TRANSITIO= NAL }, { "max-x86_64-cpu", QEMU_CAPS_X86_MAX_CPU }, + { "bochs-display", QEMU_CAPS_DEVICE_BOCHS_DISPLAY }, }; =20 static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[]= =3D { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 915ba6cb2e..3cb56e63f4 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -515,6 +515,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_CPU_UNAVAILABLE_FEATURES, /* "unavailable-features" CPU prop= erty */ QEMU_CAPS_CANONICAL_CPU_FEATURES, /* avoid CPU feature aliases */ =20 + /* 335 */ + QEMU_CAPS_DEVICE_BOCHS_DISPLAY, /* -device bochs-display */ + QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; =20 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.0.0.ppc64.xml index 40718981a8..61be1df782 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml @@ -151,6 +151,7 @@ + 2012050 0 42900757 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.0.0.x86_64.xml index c6394db602..7a322030bd 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -198,6 +198,7 @@ + 3000000 0 43100757 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_3.1.0.ppc64.xml index ee6921ff92..400dc45be4 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml @@ -156,6 +156,7 @@ + 3000091 0 42900758 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index a8cb061bf3..434c644ad4 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -201,6 +201,7 @@ + 3000092 0 43100758 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.aarch64.xml index 250b7edd52..8fe369f518 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml @@ -163,6 +163,7 @@ + 4000000 0 61700758 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_4.0.0.ppc64.xml index 24b55002a6..2df230c4f7 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml @@ -168,6 +168,7 @@ + 4000000 0 42900758 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.riscv32.xml index 230e1e7c99..f4acda457a 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml @@ -166,6 +166,7 @@ + 4000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_4.0.0.riscv64.xml index 4b2f4cf628..e71d83ee06 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml @@ -166,6 +166,7 @@ + 4000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.0.0.x86_64.xml index 716b756979..1d44a5a1ba 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml @@ -205,6 +205,7 @@ + 4000000 0 43100758 diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.1.0.x86_64.xml index 9cbf65b405..f336aeb48c 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -207,6 +207,7 @@ + 4000050 0 43100759 --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 00:31:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1562879159; cv=none; d=zoho.com; s=zohoarc; b=ZdTMBu/Dr3Lmbp32XJkkSRnDogRqHkw/9WSQZC1xu1VwGRSE2VeMw1X9Sihitvaj5tFJY+oVnaUn6WdwDxnPRHLiq399j6jB8kXGmQuW2qHuCDdN31KpPi1f0FlLcsm//IvTPOkpM3G8XuNgpPKuvgpyIli7w9vgOrhj+Ej1Tqo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562879159; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=a3AFku0KK9naxVcpf2q5mX+3sF4zCA+rAvickH4UPfw=; b=W/WK4Xiu9BNCAALtbnL0dJX7uHBsq4REdEqBwXRM7AGM0PXY3EAFMqRbeWbbCHazm07D37NvyHt28G5yNBgPFmfyR87Y2ami6zuiIVM3pwZpCc3oqrji+6QrFDcTn42cb5NY8P/Sv9VQoypM7VtFdrtLCdN3HNs2aEYeD+/ftKI= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1562879159131324.0483385905841; Thu, 11 Jul 2019 14:05:59 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4C7C187628; Thu, 11 Jul 2019 21:05:57 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 24CBD5D720; Thu, 11 Jul 2019 21:05:57 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id CD35241F53; Thu, 11 Jul 2019 21:05:56 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x6BL5dYt012442 for ; Thu, 11 Jul 2019 17:05:39 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4229B1001B02; Thu, 11 Jul 2019 21:05:39 +0000 (UTC) Received: from aegolius.redhat.com (ovpn-118-68.phx2.redhat.com [10.3.118.68]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 111CB10002B9 for ; Thu, 11 Jul 2019 21:05:38 +0000 (UTC) From: Jonathon Jongsma To: libvir-list@redhat.com Date: Thu, 11 Jul 2019 16:05:32 -0500 Message-Id: <20190711210533.11479-3-jjongsma@redhat.com> In-Reply-To: <20190711210533.11479-1-jjongsma@redhat.com> References: <20190711210533.11479-1-jjongsma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 2/3] qemu: minor refactor of video device string handling X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 11 Jul 2019 21:05:57 +0000 (UTC) Content-Type: text/plain; charset="utf-8" In preparation for adding the bochs display device, refactor the logic so that each branch handles a single device type and checks its parameters within that branch. In this case VGA and VMVGA are still grouped into the same branch since they share device-specific parameter names. Signed-off-by: Jonathon Jongsma Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 688dc324c6..2f98efd6bf 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4748,13 +4748,12 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, if (video->heads) virBufferAsprintf(&buf, ",max_outputs=3D%u", video->heads); } - } else if (video->vram && - ((video->type =3D=3D VIR_DOMAIN_VIDEO_TYPE_VGA && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_VGA_VGAMEM)) || - (video->type =3D=3D VIR_DOMAIN_VIDEO_TYPE_VMVGA && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_VMWARE_SVGA_VGAMEM)))) { - - virBufferAsprintf(&buf, ",vgamem_mb=3D%u", video->vram / 1024); + } else if ((video->type =3D=3D VIR_DOMAIN_VIDEO_TYPE_VGA && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_VGA_VGAMEM)) || + (video->type =3D=3D VIR_DOMAIN_VIDEO_TYPE_VMVGA && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_VMWARE_SVGA_VGAMEM))) { + if (video->vram) + virBufferAsprintf(&buf, ",vgamem_mb=3D%u", video->vram / 1024); } =20 if (qemuBuildDeviceAddressStr(&buf, def, &video->info, qemuCaps) < 0) --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Apr 19 00:31:59 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1562879164; cv=none; d=zoho.com; s=zohoarc; b=QfrzgqJx1lRWipuFvc3EkXQxDxxz8FlhaKe47V+43zJQy+bHHf0OnWIQpL8bTdN8hg27sFAFBKU3hKcN33T8oIJoMJGoRav/ft3MP3/vB0jnB91yVK0CmPzKoOQNcN/2ZpO9mj2ZI14HU8zdFTmMtGxc5on3pJjyP2ZNS+LaNAs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562879164; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=RLj0za8iwElQwtZ8EhCh1DMUAMgL21p/pL1LHUs6eu4=; b=HEPLlR9zYF/Sa6jma196wTMnhXJY+Fikn1SM6QS6TOA4kErvdykjvt04V4g9aeJWU1Wdykhi1t0sz4VsL+eomzAoEUxR6fidvKQjMoRXI6wph7zXBIJmkUNIgCzSAF60sAkQFC/R6pHQe7/XqBpPv07yHMI6/GPAaWot/lqmJ8M= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1562879164935115.59877240748813; Thu, 11 Jul 2019 14:06:04 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 27413C0467E4; Thu, 11 Jul 2019 21:06:03 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E37FB5DDAC; Thu, 11 Jul 2019 21:06:02 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 8CC9D41F63; Thu, 11 Jul 2019 21:06:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x6BL5dfp012458 for ; Thu, 11 Jul 2019 17:05:39 -0400 Received: by smtp.corp.redhat.com (Postfix) id A3B611001B13; Thu, 11 Jul 2019 21:05:39 +0000 (UTC) Received: from aegolius.redhat.com (ovpn-118-68.phx2.redhat.com [10.3.118.68]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 633491001B02 for ; Thu, 11 Jul 2019 21:05:39 +0000 (UTC) From: Jonathon Jongsma To: libvir-list@redhat.com Date: Thu, 11 Jul 2019 16:05:33 -0500 Message-Id: <20190711210533.11479-4-jjongsma@redhat.com> In-Reply-To: <20190711210533.11479-1-jjongsma@redhat.com> References: <20190711210533.11479-1-jjongsma@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 3/3] conf: add 'bochs' video display type X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 11 Jul 2019 21:06:03 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Update schema and configuration to allow specifying new video type of 'bochs'. Add implementation and tests for qemu. Signed-off-by: Jonathon Jongsma --- docs/formatdomain.html.in | 5 +-- docs/schemas/domaincommon.rng | 1 + src/conf/domain_conf.c | 2 ++ src/conf/domain_conf.h | 1 + src/qemu/qemu_command.c | 6 ++++ src/qemu/qemu_domain.c | 1 + src/qemu/qemu_domain_address.c | 3 ++ .../video-bochs-display-device.args | 32 +++++++++++++++++++ .../video-bochs-display-device.xml | 29 +++++++++++++++++ tests/qemuxml2argvtest.c | 3 ++ 10 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 tests/qemuxml2argvdata/video-bochs-display-device.args create mode 100644 tests/qemuxml2argvdata/video-bochs-display-device.xml diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index a7a6ec32a5..b7db5bbbea 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -6990,8 +6990,9 @@ qemu-kvm -net nic,model=3D? /dev/null attribute which takes the value "vga", "cirrus", "vmvga", "xen", "vbox", "qxl" (since 0.8.6), "virtio" (since 1.3.0), - "gop" (since 3.2.0), or - "none" (since 4.6.0) + "gop" (since 3.2.0), + "none" (since 4.6.0, or "bochs" + (since 5.5.0) depending on the hypervisor features available. The purpose of the type none is to instruct libvirt= not to add a default video device in the guest (see the paragraph ab= ove). diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 31db599ab9..763480440c 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -3584,6 +3584,7 @@ virtio gop none + bochs diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 3323c9a5b1..6e89569d3b 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -738,6 +738,7 @@ VIR_ENUM_IMPL(virDomainVideo, "virtio", "gop", "none", + "bochs", ); =20 VIR_ENUM_IMPL(virDomainVideoVGAConf, @@ -15158,6 +15159,7 @@ virDomainVideoDefaultRAM(const virDomainDef *def, case VIR_DOMAIN_VIDEO_TYPE_VGA: case VIR_DOMAIN_VIDEO_TYPE_CIRRUS: case VIR_DOMAIN_VIDEO_TYPE_VMVGA: + case VIR_DOMAIN_VIDEO_TYPE_BOCHS: if (def->virtType =3D=3D VIR_DOMAIN_VIRT_VBOX) return 8 * 1024; else if (def->virtType =3D=3D VIR_DOMAIN_VIRT_VMWARE) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index c1b5fc1337..3b248e8091 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1385,6 +1385,7 @@ typedef enum { VIR_DOMAIN_VIDEO_TYPE_VIRTIO, VIR_DOMAIN_VIDEO_TYPE_GOP, VIR_DOMAIN_VIDEO_TYPE_NONE, + VIR_DOMAIN_VIDEO_TYPE_BOCHS, =20 VIR_DOMAIN_VIDEO_TYPE_LAST } virDomainVideoType; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 2f98efd6bf..6b0cd7f36d 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -111,6 +111,7 @@ VIR_ENUM_IMPL(qemuVideo, "", /* no need for virtio */ "" /* don't support gop */, "" /* 'none' doesn't make sense here */, + "bochs-display", ); =20 VIR_ENUM_DECL(qemuDeviceVideo); @@ -128,6 +129,7 @@ VIR_ENUM_IMPL(qemuDeviceVideo, "virtio-vga", "" /* don't support gop */, "" /* 'none' doesn't make sense here */, + "bochs-display", ); =20 VIR_ENUM_DECL(qemuDeviceVideoSecondary); @@ -145,6 +147,7 @@ VIR_ENUM_IMPL(qemuDeviceVideoSecondary, "virtio-gpu", "" /* don't support gop */, "" /* 'none' doesn't make sense here */, + "" /* no secondary device for bochs */, ); =20 VIR_ENUM_DECL(qemuSoundCodec); @@ -4754,6 +4757,9 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, virQEMUCapsGet(qemuCaps, QEMU_CAPS_VMWARE_SVGA_VGAMEM))) { if (video->vram) virBufferAsprintf(&buf, ",vgamem_mb=3D%u", video->vram / 1024); + } else if (video->type =3D=3D VIR_DOMAIN_VIDEO_TYPE_BOCHS) { + if (video->vram) + virBufferAsprintf(&buf, ",vgamem=3D%uk", video->vram); } =20 if (qemuBuildDeviceAddressStr(&buf, def, &video->info, qemuCaps) < 0) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 0f1fda2384..00ac5e1307 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4960,6 +4960,7 @@ qemuDomainDeviceDefValidateVideo(const virDomainVideo= Def *video) case VIR_DOMAIN_VIDEO_TYPE_VMVGA: case VIR_DOMAIN_VIDEO_TYPE_QXL: case VIR_DOMAIN_VIDEO_TYPE_VIRTIO: + case VIR_DOMAIN_VIDEO_TYPE_BOCHS: case VIR_DOMAIN_VIDEO_TYPE_LAST: break; } diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 4b99e8ca93..972b810211 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -931,6 +931,9 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDevic= eDefPtr dev, case VIR_DOMAIN_VIDEO_TYPE_PARALLELS: return pciFlags; =20 + case VIR_DOMAIN_VIDEO_TYPE_BOCHS: + return pcieFlags; + case VIR_DOMAIN_VIDEO_TYPE_DEFAULT: case VIR_DOMAIN_VIDEO_TYPE_GOP: case VIR_DOMAIN_VIDEO_TYPE_NONE: diff --git a/tests/qemuxml2argvdata/video-bochs-display-device.args b/tests= /qemuxml2argvdata/video-bochs-display-device.args new file mode 100644 index 0000000000..f88e9ccb04 --- /dev/null +++ b/tests/qemuxml2argvdata/video-bochs-display-device.args @@ -0,0 +1,32 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/tmp/lib/domain--1-QEMUGuest1 \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.config \ +QEMU_AUDIO_DRV=3Dnone \ +/usr/bin/qemu-system-i686 \ +-name QEMUGuest1 \ +-S \ +-machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff \ +-m 1024 \ +-realtime mlock=3Doff \ +-smp 1,sockets=3D1,cores=3D1,threads=3D1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni= tor.sock,\ +server,nowait \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-no-acpi \ +-usb \ +-drive file=3D/var/lib/libvirt/images/QEMUGuest1,format=3Dqcow2,if=3Dnone,\ +id=3Ddrive-ide0-0-0,cache=3Dnone \ +-device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b= ootindex=3D1 \ +-device bochs-display,id=3Dvideo0,vgamem=3D16384k,bus=3Dpci.0,addr=3D0x2 \ +-device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 diff --git a/tests/qemuxml2argvdata/video-bochs-display-device.xml b/tests/= qemuxml2argvdata/video-bochs-display-device.xml new file mode 100644 index 0000000000..3c59bf7c6a --- /dev/null +++ b/tests/qemuxml2argvdata/video-bochs-display-device.xml @@ -0,0 +1,29 @@ + + QEMUGuest1 + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 1048576 + 1048576 + 1 + + hvm + + + + destroy + restart + destroy + + /usr/bin/qemu-system-i686 + + + + +
+ + + + + + diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 0ac128be00..92791f61ac 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2028,6 +2028,9 @@ mymain(void) QEMU_CAPS_DEVICE_VIRTIO_VGA, QEMU_CAPS_DEVICE_VIDEO_PRIMARY, QEMU_CAPS_VIRTIO_GPU_MAX_OUTPUTS); + DO_TEST("video-bochs-display-device", + QEMU_CAPS_DEVICE_BOCHS_DISPLAY, + QEMU_CAPS_DEVICE_VIDEO_PRIMARY); DO_TEST("video-none-device", QEMU_CAPS_VNC); DO_TEST_PARSE_ERROR("video-invalid-multiple-devices", NONE); --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list