From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O9klq-0007L3-H8 for qemu-devel@nongnu.org; Wed, 05 May 2010 16:00:38 -0400 Received: from [140.186.70.92] (port=50448 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O9klp-0007KU-8Y for qemu-devel@nongnu.org; Wed, 05 May 2010 16:00:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O9kln-0002Uk-N9 for qemu-devel@nongnu.org; Wed, 05 May 2010 16:00:37 -0400 Received: from mail.gmx.net ([213.165.64.20]:38607) by eggs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1O9kln-0002UQ-Bv for qemu-devel@nongnu.org; Wed, 05 May 2010 16:00:35 -0400 Message-ID: <4855E2D8011C47A797DC2460DC9919F7@FSCPC> From: "Sebastian Herbszt" References: <4BE174CD.9030606@redhat.com> In-Reply-To: <4BE174CD.9030606@redhat.com> Date: Wed, 5 May 2010 21:56:56 +0200 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: vgabios + qemu: issues and plans. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: info@vruppert.de, qemu-devel@nongnu.org Gerd Hoffmann wrote: > Hi, > > Today we have two vgabios versions in qemu: The standard one > (vgabios.bin) and the cirrus one (vgabios-cirrus.bin). > > The cirrus vgabios is a PCI ROM. We can (and do) load it into the ROM > PCI bar. The vgabios checks the pci config space to figure where the > linear framebuffer (for vesa graphics) is mapped to. It knows how to > program the cirrus. > > The standard bios isn't a PCI ROM. We have to load it using the seabios > firmware interface. It expects to find the linear framebuffer at the > magic address 0xe0000000. It uses the bochs extentions to implement > vesa graphics support. > > So, what is wrong with this? > > First, I'd like to be able to load the vgabios via PCI ROM bar on all > pci vga cards (stdvga, vmware, soon qxl). The PCI ID in the bios has to > match the PCI ID of the card, so we'll need a bunch of vga bios > binaries, all identical except for the PCI ID. Or we need some kind of > binary patching. Otherwise seabios will not load them from the PCI ROM bar. vgabios could be build multiple times with PCIBIOS set and VENDOR_ID and DEVICE_ID supplied from the Makefile like it's already done with VGABIOS_DATE. > Second, I want to get rid of the magic address 0xe0000000 (except for > isa-vga). This is basically just a matter of updating to vgabios > version 0.6c. And this needs one vga bios binary per vga card too as > the PCI ID is used to lookup the card (and then the framebuffer address) > in PCI config space. > > Comments? Especially on the binary patching? Worth it? Or just build > a bunch of binaries? They are not *that* big after all ... Few more bios binaries should do no harm. This is currently used for eepro100 (gpxe-eepro100-80861209.rom and gpxe-eepro100-80861229.rom). So maybe define a similar naming convention for the vgabios. Sebastian > cheers, > Gerd > > >