On Mi, 2015-03-25 at 18:09 +0100, Michael S. Tsirkin wrote:> On Wed, Mar 25, 2015 at 04:37:16PM +0100, Gerd Hoffmann wrote: > > Hi, > > > > > BTW can we teach virtio-gpu to look for framebuffer using > > > virtio pci caps? > > > > The virtio-gpu driver doesn't matter much here, it doesn't use it > > anyway. > > > > > Or are there limitations such as only > > > using IO port BARs, or compatibility with > > > BIOS code etc that limit us to specific BARs anyway? > > > > Yes, vgabios code needs to know. Currently it has bar #2 for the vga > > framebuffer bar hardcoded. It's 16bit code. I don't feel like making > > the probing more complicated ... > > > > cheers, > > Gerd > > OK - you are saying all VGA cards use bar #2 for this > functionality, so we are just following > established practice here?vgabios checks pci ids to figure. qxl+stdvga use bar #0, vmware-vga bar #1, virtio-vga bar #2. cheers, Gerd
On Thu, Mar 26, 2015 at 08:12:39AM +0100, Gerd Hoffmann wrote:> On Mi, 2015-03-25 at 18:09 +0100, Michael S. Tsirkin wrote: > > On Wed, Mar 25, 2015 at 04:37:16PM +0100, Gerd Hoffmann wrote: > > > Hi, > > > > > > > BTW can we teach virtio-gpu to look for framebuffer using > > > > virtio pci caps? > > > > > > The virtio-gpu driver doesn't matter much here, it doesn't use it > > > anyway. > > > > > > > Or are there limitations such as only > > > > using IO port BARs, or compatibility with > > > > BIOS code etc that limit us to specific BARs anyway? > > > > > > Yes, vgabios code needs to know. Currently it has bar #2 for the vga > > > framebuffer bar hardcoded. It's 16bit code. I don't feel like making > > > the probing more complicated ... > > > > > > cheers, > > > Gerd > > > > OK - you are saying all VGA cards use bar #2 for this > > functionality, so we are just following > > established practice here? > > vgabios checks pci ids to figure. qxl+stdvga use bar #0, vmware-vga bar > #1, virtio-vga bar #2. > > cheers, > Gerd >And is it possible to use offset within BAR and/or memory BARs? If yes I'd strongly prefer this. As for writing 16 bit code, I need to do this for virtio scsi/blk anyway, so we'll be able to share code. -- MST
Hi,> And is it possible to use offset within BAR and/or memory BARs? > If yes I'd strongly prefer this.What is the point? Do you want place virtio regions and vga framebuffer in the same pci bar? Why? virtio is mmio and traps into qemu on access, whereas the vga framebuffer is memory-backed (with dirty tracking turned on). Don't think this is a good idea, even though the memory api would probably allow to do this. cheers, Gerd