<div>Hi,Levy,thank you for your answer!</div>
<div>I have download qemu-kvm-0.13,but there is no hw/qxl.c.</div>
<div>Can you give me a link to spice-qemu?<br><br></div>
<div class="gmail_quote">2010/12/30 Alon Levy <span dir="ltr"><<a href="mailto:alevy@redhat.com">alevy@redhat.com</a>></span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div class="im">On Wed, Dec 29, 2010 at 10:45:11PM +0800, lin gu wrote:<br>> but these is no called qxl_worker_update_area,except<br>> "dispatcher->base.update_area = qxl_worker_update_area".<br>><br>
<br></div>You could use systemtap or just add a printf to see who/when it is actually called,<br>and if you just want to find out statically (browsing the source) grep for update_area,<br>you'll find:<br>playa:qemu alon spice.kvm.v18.ccid.v8.1.based $ git grep -p update_area<br>
hw/qxl-render.c=void qxl_render_update(PCIQXLDevice *qxl)<br>hw/qxl-render.c: qxl->ssd.worker->update_area(qxl->ssd.worker, 0, &update,<br>hw/qxl.c=static void ioport_write(void *opaque, uint32_t addr, uint32_t val)<br>
hw/qxl.c: QXLRect update = d->ram->update_area;<br>hw/qxl.c: d->ssd.worker->update_area(d->ssd.worker, d->ram->update_surface,<br><br>So other then on rendering (qxl_render_update, called from qxl_hw_update or screendump)<br>
the main path is by io port QXL_IO_UPDATE_AREA from the driver. If you look at the driver<br>you can see when that is triggered.<br>
<div>
<div></div>
<div class="h5"><br>> 2010/12/29 Alon Levy <<a href="mailto:alevy@redhat.com">alevy@redhat.com</a>><br>><br>> > On Wed, Dec 29, 2010 at 10:27:57PM +0800, lin gu wrote:<br>> > > Hi,guys!<br>> > > I thought that when the QXL update_area,it will send a<br>
> > > RED_WORKER_MESSAGE_UPDATE<br>> > > use Red_dispather,then the Red_worker will handler the message.<br>> > > but I can't find any code to create the the<br>> > > message--"RED_WORKER_MESSAGE_UPDATE".<br>
> > > so I want to know if the QXL send the RED_WORKER_MESSAGE_UPDATE message?<br>> > > or it's only a definition that dosenot use in spice?<br>> > > Thanks!<br>> ><br>> > U playa:spice alon master $ git grep -p RED_WORKER_MESSAGE_UPDATE<br>
> > server/red_dispatcher.c=static void qxl_worker_update_area(QXLWorker<br>> > *qxl_worker, uint32_t surface_i<br>> > server/red_dispatcher.c: RedWorkerMessage message =<br>> > RED_WORKER_MESSAGE_UPDATE;<br>
> > server/red_worker.c=static void handle_dev_input(EventListener *listener,<br>> > uint32_t events)<br>> > server/red_worker.c: case RED_WORKER_MESSAGE_UPDATE:<br>> > server/red_worker.h=enum {<br>
> > server/red_worker.h: RED_WORKER_MESSAGE_UPDATE,<br>> ><br>> ><br>> > > Spice-devel mailing list<br>> > > <a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
> > > <a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>> ><br>> ><br><br></div></div>> _______________________________________________<br>
<div>
<div></div>
<div class="h5">> Spice-devel mailing list<br>> <a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>> <a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
<br></div></div></blockquote></div><br>