[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
- [Qemu-devel] [PATCH 4/8] console: add ability to wrap a console., (continued)
- [Qemu-devel] [PATCH 4/8] console: add ability to wrap a console., Dave Airlie, 2013/11/20
- [Qemu-devel] [PATCH 3/8] console: add information retrival wrappers, Dave Airlie, 2013/11/20
- [Qemu-devel] [PATCH 5/8] sdl2: update for multihead support., Dave Airlie, 2013/11/20
- [Qemu-devel] [PATCH 6/8] virtio-gpu: v0.1 of the virtio based GPU code., Dave Airlie, 2013/11/20
- [Qemu-devel] [PATCH 7/8] virtio-vga: v1, Dave Airlie, 2013/11/20
- [Qemu-devel] [PATCH 8/8] HACK: just to make things start easier with libvirt, Dave Airlie, 2013/11/20