WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 0/2] PV framebuffer

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 0/2] PV framebuffer
From: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri, 10 Nov 2006 09:53:44 +0100
Delivery-date: Fri, 10 Nov 2006 00:54:00 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)
Summary of changes:

* Use xenbus_device API.

  Some xm configuration magic is still missing, see below.

* Negotiate features through Xen Store.

* Key identification

  Discussed at length on this list.  I fixed sdlfb to use scan codes
  (assumes standard AT or PS/2 keyboard).  vncfb is not fixable.  See
  comments in the code.

* Drop XENKBD_TYPE_BUTTON in favour of XENKBD_TYPE_KEY.  Simpler, and
  gets rid of the three button limit.

* Support shadow translate mode guests (untested).

* Absolute mouse pointer (optional feature)

* Fix event delivery and receipt notification.

* Use __s32 for coordinates instead of __u16 and __s16 for pixel
  coordinates, to match linux/input.h, which uses int.

* Don't drop the first pointer event on the floor in vncfb.

* Backends diagnose lost kbd events.

* Some renames to make xenkbd and xenfb drivers more similar.  Sorry
  for the extra diffs, but the inconsistencies were just too
  confusing.

Known issues:

* What to do when backend closes the connection?  I guess we want to
  keep the frontend running, ready for another connection.  This works
  already, but in a rather hackish and limited way.

* What to do when the frontend closes the connection?  Make backend
  exit?

* What happens when multiple backends connect to the same frontend?
  Chaos, most likely.

* Resume not implemented.

* xm configuration magic doesn't know the new devices, yet.  I'm
  ignorant of how this magic works, perhaps somebody can lend me a
  hand with it.

  Workaround:

  - Convert /etc/xen/FOO into FOO.sxp with xm create -n.  Make sure to
    delete the junk at the beginning of the output.

  - Add
        (device (vfb ()))
        (device (vkbd ())
    and change kernel and ramdisk to point to suitable copies.

  - xm create -F FOO.sxp.

* A couple of FIXMEs are still left in the code.

Future work:

* Investigate ditching LibVNCServer.

* Use grant tables when they become capable of mapping the
  framebuffer.

* Support multiple framebuffers.

* Dynamic screen resolution.

* Support other keyboards.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel