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
On Thu, Mar 26, 2015 at 09:42:47AM +0100, Gerd Hoffmann wrote:> 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, > GerdAbsolutely, it's pretty common to mix regions in a BAR. For example, we have virtio kick (ioeventfd backed, handled in kernel) in same BAR as common and device specific configuration. We did the same thing you are now doing with the virtio BAR, and now we have to maintain two code bases, virtio pci config was designed to be future proof so why not use it? This is mostly just making sure we don't paint ourselves into a corner. -- MST
Hi,> Absolutely, it's pretty common to mix regions in a BAR. > For example, we have virtio kick (ioeventfd backed, > handled in kernel) in same BAR as common and device > specific configuration.> We did the same thing you are now doing with the > virtio BAR, and now we have to maintain two code > bases, virtio pci config was designed to be future proof > so why not use it?It's not about virtio at all. It's about vga compatibility, so we have a simple framebuffer as boot display. Only used when virtio is *not* enabled.> This is mostly just making sure we don't paint ourselves into a corner.It's a simple memory bar. vga cards have that since pci was invented (standalone ones, chipset graphics aside), and there havn't been fundamental changes ... cheers, Gerd