On Wed, Mar 04, 2015 at 11:55:50AM +0100, Gerd Hoffmann wrote: > Hi, > > > > VirtIOPCIProxy subclasses which need additional pci bars, such as > > > virtio-vga, just need to make sure they register the additinal bars > > > before initializing virtio-pci, so the superclass can see the registered > > > bars and shuffle around the virtio bars accordingly. > > > > I think I prefer we just DTRT and keep same layouts for everyone by > > default: isn't there a layout that is good for everybody? > > I want bar #2 for the vga framebuffer for virtio-vga. Which conflicts > with bar #2 being used for the modern bar in todays code.
OK, and IIUC you are saying that using bar #2 for that is a requirement for vga to work? > We can move the modern bar to #4 for everybody, then we'll have: > > #0 -- legacy i/o > #1 -- msix > #2 -- unused (by virtio) > #3 -- unused (by virtio) > #4 -- modern mem > #5 -- modern mem too (because it's 64bit). > > That'll leave bars #2 + #3 free, for additional bars (1x 64bit or 2x > 32bit) such as vga framebuffer if needed. Yes, that's fine with me. > > I know this means we'll leave BAR0 unused for modern devices but that > > does not seem too bad. > > Yep, no technical reason against it, although it IMHO looks nicer. > > cheers, > Gerd If we run into a problem, we'll be able to reshuffle it all easily. -- MST