From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: issues with emulated PCI MMIO backed by host memory under KVM Date: Wed, 29 Jun 2016 09:12:42 +0200 Message-ID: <1467184362.15123.49.camel@redhat.com> References: <20160627091619.GB26498@cbox> <20160627103421.GC26498@cbox> <52f1a2e2-63c9-a5d2-9b78-7264923e04c4@redhat.com> <40f24dbe-06bd-cb73-ae8c-af20930cb360@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id D860C49B4C for ; Wed, 29 Jun 2016 03:07:33 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5JXUaKLHfv3R for ; Wed, 29 Jun 2016 03:07:32 -0400 (EDT) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id A3DEB49B2E for ; Wed, 29 Jun 2016 03:07:32 -0400 (EDT) In-Reply-To: <40f24dbe-06bd-cb73-ae8c-af20930cb360@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: Laszlo Ersek Cc: Ard Biesheuvel , Marc Zyngier , Catalin Marinas , "kvmarm@lists.cs.columbia.edu" List-Id: kvmarm@lists.cs.columbia.edu On Di, 2016-06-28 at 15:32 +0200, Laszlo Ersek wrote: > (adding Gerd) > > On 06/28/16 15:14, Ard Biesheuvel wrote: > > > In any case, reconciling software that requires a framebuffer with a > > GPU emulation that does not expose one by design is going to be > > problematic even without this issue. How is this supposed to work on > > x86? > > AFAIK: > > "virtio-gpu-pci" is the device model without the framebuffer. It is good > for secondary displays (i.e. those that you don't boot with, only use > after the guest kernel starts up). > > "virtio-vga" is the same, but it also has the legacy VGA framebuffer, > hence it can be used for accommodating boot loaders. (Except it won't > work for aarch64 KVM guests, because of $SUBJECT.) Exactly. virtio-vga is basically virtio-gpu-pci + stdvga combined. Power-on default is vga mode. It switches into virtio mode when the guest configures a output using virtio commands. It switches back to vga mode on reset. You can get a simple framebuffer by using the stdvga part of the device. QemuVideoDxe does exactly that. The linux kernel switches from vga mode (efifb) to virtio mode when the virtio-gpu kms driver loads. Of course virtio-vga in vga mode has exactly the same cache coherency issues as stdvga on arm. So, once the linux kernel with the virtio-gpu is up'n'running everything is fine, but how to handle early bootloader display isn't solved yet. cheers, Gerd