[Spice-devel] About the QXL update_area processing

lin gu gulin20475 at gmail.com
Fri Dec 31 00:47:23 PST 2010


Hi,Levy,thank you for your answer!
I have download qemu-kvm-0.13,but there is no hw/qxl.c.
Can you give me a link to spice-qemu?

2010/12/30 Alon Levy <alevy at redhat.com>

> On Wed, Dec 29, 2010 at 10:45:11PM +0800, lin gu wrote:
> > but these is no called qxl_worker_update_area,except
> > "dispatcher->base.update_area = qxl_worker_update_area".
> >
>
> You could use systemtap or just add a printf to see who/when it is actually
> called,
> and if you just want to find out statically (browsing the source) grep for
> update_area,
> you'll find:
> playa:qemu alon spice.kvm.v18.ccid.v8.1.based $ git grep -p update_area
> hw/qxl-render.c=void qxl_render_update(PCIQXLDevice *qxl)
> hw/qxl-render.c:    qxl->ssd.worker->update_area(qxl->ssd.worker, 0,
> &update,
> hw/qxl.c=static void ioport_write(void *opaque, uint32_t addr, uint32_t
> val)
> hw/qxl.c:        QXLRect update = d->ram->update_area;
> hw/qxl.c:        d->ssd.worker->update_area(d->ssd.worker,
> d->ram->update_surface,
>
> So other then on rendering (qxl_render_update, called from qxl_hw_update or
> screendump)
> the main path is by io port QXL_IO_UPDATE_AREA from the driver. If you look
> at the driver
> you can see when that is triggered.
>
> > 2010/12/29 Alon Levy <alevy at redhat.com>
> >
> > >  On Wed, Dec 29, 2010 at 10:27:57PM +0800, lin gu wrote:
> > > > Hi,guys!
> > > > I thought that when the QXL update_area,it will send a
> > > > RED_WORKER_MESSAGE_UPDATE
> > > >  use Red_dispather,then the Red_worker will handler the message.
> > > > but I can't find any code to create the the
> > > > message--"RED_WORKER_MESSAGE_UPDATE".
> > > > so I want to know if the QXL send the RED_WORKER_MESSAGE_UPDATE
> message?
> > > > or it's only a definition that dosenot use in spice?
> > > > Thanks!
> > >
> > > U playa:spice alon master $ git grep -p RED_WORKER_MESSAGE_UPDATE
> > > server/red_dispatcher.c=static void qxl_worker_update_area(QXLWorker
> > > *qxl_worker, uint32_t surface_i
> > > server/red_dispatcher.c:    RedWorkerMessage message =
> > > RED_WORKER_MESSAGE_UPDATE;
> > > server/red_worker.c=static void handle_dev_input(EventListener
> *listener,
> > > uint32_t events)
> > > server/red_worker.c:    case RED_WORKER_MESSAGE_UPDATE:
> > > server/red_worker.h=enum {
> > > server/red_worker.h:    RED_WORKER_MESSAGE_UPDATE,
> > >
> > >
> > > > Spice-devel mailing list
> > > > Spice-devel at lists.freedesktop.org
> > > > http://lists.freedesktop.org/mailman/listinfo/spice-devel
> > >
> > >
>
> > _______________________________________________
>  > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20101231/0f38b922/attachment.html>


More information about the Spice-devel mailing list