[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [RFC] [0/4] User-space grants for Console and XenStore

Following on from the introduction of a User-space grant table device ("gntdev" - see http://lists.xensource.com/archives/html/xen-devel/ 2007-03/msg01337.html for more details), I have modified the domain building process so that the grant table mechanism is used for communication with the console and XenStore daemons. This replaces the use of xc_map_foreign_range().

The development was carried out as follows:

* Added a new gnttabop, which installs grant table entries into the reserved section of the grant table. * Modified the domain builder to install entries for the console and XenStore pages for each new domain (using fixed entry numbers). * Modified the console and XenStore daemons to use xc_gnttab_map_grant_ref() in place of xc_map_foreign_range().

I've tested this locally (on x86_32 and x86_64) and it seems to work. There are a few remaining concerns that I have:

* Will this work on ia64 and PowerPC?
* How will this integrate with XSM? The install-grant operation is clearly as privileged as the ability to map arbitrary memory from a foreign domain, so could these share a hook? * Solaris support? I don't know enough about Solaris to know what changes must be made to gntdev for it to run there. Since these changes hit presumably portable code, would it be acceptable to have an #ifdef in the console and XenStore daemons?

The patch is structured as follows:

1. gnttabop.patch - Changes to the hypervisor to add the install- entry gnttabop. 2. libxc.patch - Changes to libxc to install grants for the console and XenStore pages. 3. xenconsoled.patch - Changes to the console daemon to use grant references. 4. xenstored.patch - Changes to the XenStore daemon to use grant references.

I would welcome your input on this.


Derek Murray.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.