From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=kraxel@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AED2121163270 for ; Tue, 23 Oct 2018 06:42:29 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AF5D4305FCD2; Tue, 23 Oct 2018 13:42:28 +0000 (UTC) Received: from lupin.home.kraxel.org (unknown [10.36.118.49]) by smtp.corp.redhat.com (Postfix) with ESMTP id E6C0C764F9; Tue, 23 Oct 2018 13:42:27 +0000 (UTC) Received: by lupin.home.kraxel.org (Postfix, from userid 1000) id D604A6114B45; Tue, 23 Oct 2018 15:42:25 +0200 (CEST) Date: Tue, 23 Oct 2018 15:42:25 +0200 From: Gerd Hoffmann To: Laszlo Ersek Cc: yuchenlin , edk2-devel@lists.01.org, jordan.l.justen@intel.com, ard.biesheuvel@linaro.org, anthony.perard@citrix.com, julien.grall@linaro.org, Phil Dennis-Jordan Message-ID: <20181023134225.k56ujprawo3qdjm7@lupin.home.kraxel.org> References: <20181023024057.21942-1-yuchenlin@synology.com> <3f1bacc3feaf1ce6de3b42f91cf689ea@synology.com> <917454c5-3420-aba3-097f-0ac46b6792c4@redhat.com> MIME-Version: 1.0 In-Reply-To: <917454c5-3420-aba3-097f-0ac46b6792c4@redhat.com> User-Agent: NeoMutt/20180716 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Tue, 23 Oct 2018 13:42:29 +0000 (UTC) Subject: Re: [PATCH] OvmfPkg: initialize bochs when initializing vmsvga X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2018 13:42:29 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, > Please help me see the situation better. Here's my current > understanding. > > (1) QemuVideoDxe doesn't set up the VMW SVGA FIFO, and does not store 1 > to the SVGA_REG_CONFIG_DONE register. And this is not a "small > missing step" -- the FIFO setup can be considered a separate > feature. > > (2) We don't intend to implement the FIFO setup feature. (In particular > because we don't intend to track changed rectangles and send updates > via the FIFO.) > > (3) The intent of the original VMW SVGA enablement patch for > QemuVideoDxe, namely commit c137d9508169, was to enable booting some > UEFI operating systems on OVMF that had guest drivers only for VMW > SVGA. > > (4) The QEMU device model now -- since commit 104bd1dc70 -- falls back > to stdvga (that is, Bochs) in response to QemuVideoDxe's actions. > > (5) Your proposal is to set up the Bochs interface in QemuVideoDxe, *in > addition* to the -- now dysfunctional! -- VMW SVGA interface. > > Is my understanding correct? I understand things the same way. > So, what do you think of the following approach, instead of your > currently proposed patch: > > - revert commit c137d9508169 ("OvmfPkg/QemuVideoDxe: VMWare SVGA device > support", 2017-04-07) > > - revert commit 05a537945872 ("OvmfPkg/QemuVideoDxe: Helper functions > for unaligned port I/O.", 2017-04-07) > > - given that QEMU provides the Bochs interface anyway, with the VMW SVGA > device model, simply recognize the "QEMU VMWare SVGA" card, in the > "gQemuVideoCardList" array, as the QEMU_VIDEO_BOCHS_MMIO variant. Makes sense to me. Alternatively write a full-blown vmsvga driver which works simliar to the virtio-gpu driver. I have my doubts this is worth the effort though. > Before QEMU commit 104bd1dc70, was it really *required* to use the (now > dead) QemuVideoDxe code for VMW SVGA, or would it always have been > possible to simply use the Bochs interface, to drive the VMW SVGA > device? I think bochs interface works works with all vmsvga version (in qemu). Didn't test though. cheers, Gerd