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/
Home Products Support Community News


Re: [Xen-devel] Call hypercall straightly from user space

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Subject: Re: [Xen-devel] Call hypercall straightly from user space
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Sat, 30 Dec 2006 12:29:31 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Sat, 30 Dec 2006 04:29:30 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C1BBFD97.6837%Keir.Fraser@xxxxxxxxxxxx>
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
Thread-index: Accr6PfCrVSZe50lQCCwjsW6cCTt7wAHH93IAAIsHRQ=
Thread-topic: [Xen-devel] Call hypercall straightly from user space
User-agent: Microsoft-Entourage/
On 30/12/06 11:27 am, "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx> wrote:

> That being the case, perhaps you need a
> well-defined register-based ABI for all ia64 hypercalls (e.g., first N bytes
> of the first pointer-passed structs/values passed to a hypercall are
> re-packed into a subset of the IA64's register space). The disadvantage here
> is the need for IA64-specific repacking on the Xen and the guest sides of
> the hypercall interface, unless we could think of some very cunning way to
> avoid it.

Another option would be for the guest user space to know the virt->machine
mapping for some of its address space, and use that as a pool to allocate
hypercall buffers from. Then user space could fill in the xencomm
descriptors for itself.

This would need special allocation in libxc for hypercall buffers (since
they would need to come from a pinned pool of memory for which libxc knows
the v->m mapping) but we want to add this anyway, even for x86 (to reduce
number of mlock/munlock calls we make).

 -- Keir

Xen-devel mailing list