qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 7/8] virtio-vga: v1


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH 7/8] virtio-vga: v1
Date: Thu, 21 Nov 2013 12:06:30 +0100

On Do, 2013-11-21 at 13:12 +1000, Dave Airlie wrote:
> On Wed, Nov 20, 2013 at 10:02 PM, Gerd Hoffmann <address@hidden> wrote:
> > On Mi, 2013-11-20 at 15:52 +1000, Dave Airlie wrote:
> >> From: Dave Airlie <address@hidden>
> >>
> >> This is a virtio-vga device built on top of the virtio-gpu device.
> >
> > Ah, I see what you use the wrapping for.  Hmm.  I think you should use a
> > common base class instead, i.e. something like virtio-gpu-base which
> > holds all the common stuff.  Both virtio-gpu and virtio-vga can use that
> > as TypeInfo->parent then.  This way virtio-vga doesn't have to muck with
> > virtio-gpu internals.  virtio-gpu-base can be tagged as abstract class
> > (using .abstract = true) so it will not be instantiated directly.
> >
> 
> I'm not sure what that buys me here, I need the virtio-vga to attach
> the vga ops the first console that the virtio-gpu registers, it can't
> be a separate console, and since virtio-gpu initialises before
> virtio-vga I can't tell it to not register the console.

virtio-gpu-core registers no consoles.  It just export the hw_ops
functions.   virtio-gpu-core inly initializes the stuff which is
identical for both virtio-gpu and virtio-vga, everything else is left to
the init functions of the subclasses.

virtio-gpu uses virtio-gpu-core as parent.  Registers the the consoles,
using the hw_ops functions exported by virtio-gpu-core.  Also sets the
pci class to DISPLAY_OTHER.

virtio-vga uses virtio-gpu-core as parent too.  Registers the consoles,
using functions basically doing "if vgamode then call vga hw_ops else
call virtio-gpu-core hw_ops".  Simliar to what you have today but
without the funky wrapping.  Sets pci class to DISPLAY_VGA and
initializes vga stuff.

cheers,
  Gerd





reply via email to

[Prev in Thread] Current Thread [Next in Thread]