On Wed, May 09, 2012 at 02:51:01PM +0200, Gerd Hoffmann wrote:
> On 05/09/12 13:26, Alon Levy wrote:
> > The guest drivers should already know how to use async for revision 3.
> > But since it's still possible to have an older driver with revision 3
> > that doesn't check for the revision, require a new parameter
> > "force_async", which we can later turn to 1 by default.
> 
> Hmm.  PCI revisions are supposed to be backward compatible, I don't
> think this is a good idea.  We might want to log a warning or inform via
> 'info spice' in case we find a guest using the old, sync commands, so
> management can figure and warn, but I wouldn't do more.
> 
> We can think about defining a qxl2 pci device, with a different pci id,
> where we can throw away old stuff.  For such a new & incompatible device
> I'd like to change a few more things while being at it ...
> 
> (1) go for a single 32bit mmio register set similar to real hardware.
> That should replace the rom bar (device info), the fields in the ram
> area (where interrupt mask etc live) and the io command bar.
> 
> (2) consider virtio for the rings.  Not sure this is worth it as that
> wouldn't make qxl bus-agnostic, for vga compatibility and device memory
> we'll still have a dependency on pci ...
> 
> (3) renumber the remaining bars so we can make the vram bar 64bit,
> without a 32bit compatibility alias needed.
> 
> (4) Drop QXL_IO_SET_MODE support and the mode list.
> 
> Possibly more ...

Sounds like a good idea. I'll try to do a patch with the sync warning
first - the reason for this patch was trying to prevent deadlocks with
boxes, the management in question.

The virtio-rings - I know someone is already working on this and is
pretty well advanced. Actually I think they are doing a whole new
device, but I haven't seen any code yet. Probably not pci. But just
replacing the rings should not be that hard (tm) :)

> 
> cheers,
>   Gerd

Reply via email to