[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/2] Virtual frame buffer
I ported Anthony Liguori's virtual frame buffer to current kernels and converted it to use Xenstore. Here's a brief sketch of how it works. http://wiki.xensource.com/xenwiki/VirtualFramebuffer has more detail, and also also outlines future work, but the stuff on startup there no longer applies. The VFB's architecture is comparable to the common split device driver architecture: xenfb and xenkbd modules serve as frontend in domU, and the user space vncfb server serves as backend in dom0. xenfb and xenkbd don't use the Xenbus infrastructure for frontends, because it doesn't quite fit. They publish their shared memory page and event channel in Xenstore entries {vfb,vkbd}/{page-ref,event-channel}. As usual, the shared memory page contains information about the device, input event ring and output event ring. xenkbd defines pointer motion events, button events and keyboard events. xenfb defines events to optionally signal frame buffer page updates. vncfb runs in dom0. It takes the domain to watch as argument. It then watches /local/domain/DOMID/{vfb,vkbd} until everything it needs is there. It maps the shared memory and connects the event channels. Use of event ring and event channel follows the common patterns. xenfb actually shares more memory than just a page. It also shares the frame buffer itself. The page shared through Xenstore has enough information so that vncfb can map the frame buffer as well. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |