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/3] [RFC] User-space grant table device

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 0/3] [RFC] User-space grant table device
From: Derek Murray <Derek.Murray@xxxxxxxxxxxx>
Date: Mon, 19 Mar 2007 10:40:18 +0000
Delivery-date: Mon, 19 Mar 2007 03:39:33 -0700
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
I've completed a version of a Linux kernel driver for mapping granted pages into user-space. There are a few use cases for this, but the most important (from a XenSE/dom0 disaggregation point of view) is changing the way the the console daemon and xenstore map their respective pages in the guests. A further possibility might be reimplementing blktap entirely in user-space.

Currently the driver supports:
* Mapping one or more pages at a time into a contiguous portion of memory.. * Mapping up to 128 pages per file descriptor (this is an arbitrary limit, but it would be trivial to make this configurable). * Each page may only be mapped once. However, it is possible to map the same grant more than once: simply register the grant twice with the ioctl, and then map the two (different) offsets.

In addition, I've written some simple libxc functions (of the same format as the xc_evtchn_* functions) that provide access to the driver.

I've split up the patch as follows:

1. gntdev.patch: This is the main driver, and associated header file.
2. libxc-changes.patch: These are the libxc functions for accessing the driver. 3. linux-changes.patch: These contain the necessary changes to linux (in effect, adding a hook to the vm_operations_struct that is called by the unmap_page_range function) for unmapping grants before the page table is destroyed.

I'd welcome your comments.

Regards,

Derek Murray.


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