From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48029) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SyUcg-00015U-K5 for qemu-devel@nongnu.org; Mon, 06 Aug 2012 17:13:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SyUce-0006MV-Ks for qemu-devel@nongnu.org; Mon, 06 Aug 2012 17:13:58 -0400 Received: from gate.crashing.org ([63.228.1.57]:41262) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SyUce-0006MH-BV for qemu-devel@nongnu.org; Mon, 06 Aug 2012 17:13:56 -0400 Message-ID: <1344287630.24037.106.camel@pasglop> From: Benjamin Herrenschmidt Date: Tue, 07 Aug 2012 07:13:50 +1000 In-Reply-To: <501FCE5F.4090909@redhat.com> References: <1343629462.21647.32.camel@pasglop> <50165D0A.6060608@redhat.com> <1343647217.21647.40.camel@pasglop> <50166F2A.1040507@redhat.com> <1343649267.21647.44.camel@pasglop> <501676D7.3010504@redhat.com> <878ve11j70.fsf@codemonkey.ws> <50168C68.9010103@redhat.com> <874nopicrc.fsf@codemonkey.ws> <5016926E.3090109@redhat.com> <87obmx491u.fsf@codemonkey.ws> <50169BD5.6060807@redhat.com> <87ipd5xmpb.fsf@codemonkey.ws> <87ipd4lslc.fsf@rustcorp.com.au> <1343704583.8227.10.camel@pasglop> <501FCE5F.4090909@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Subject: Re: [Qemu-devel] Cirrus bugs vs endian: how two bugs cancel each other out List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Rusty Russell , Avi Kivity , Anthony Liguori , qemu-devel@nongnu.org On Mon, 2012-08-06 at 16:02 +0200, Gerd Hoffmann wrote: > > A vbe rom isn't a big deal. You probably want support the 0x01CE and > 0x01CF ports (on x86) so the vgabios running in real mode can easily > reach the bochs interface registers without a protected mode round > trip > for mmio access. > > I *think* for seavgabios this needs just a rebuild with an approximate > configuration (see roms/Makefile and roms/config.vga.*). The code > already checks whenever bar 0 is actually memory not mmio because this > is needed for the vmware vga too. My current layout is BAR 0 : virtio (including commands to access all the registers) BAR 1 : MMIO regs (there just in case, they might come in handy to make the DRM driver more oops-resistant, but they are unused by my WIP code) BAR 2 : framebuffer for scanout I have legacy VGA & Bochs VBE ports wired up as well (it's trivial), did a quick vgabios change and that works, I haven't looked at seabios yet but it looks trivial enough. I have a port of SLOF that uses the virtio channel to configure the linear mode (using the VBE regs via the virtio tunnel) and that works. I've started putting together a DRM +fb driver for the guest side, but that's not done yet. I've also done a trivial 2D blitter mostly for use by the fb and/or SLOF but I haven't wired it up yet. Cheers, Ben.