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: "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 11:27:19 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Sat, 30 Dec 2006 03:27:23 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <51CFAB8CB6883745AE7B93B3E084EBE207DDCC@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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: Accr6PfCrVSZe50lQCCwjsW6cCTt7wAHH93I
Thread-topic: [Xen-devel] Call hypercall straightly from user space
User-agent: Microsoft-Entourage/
On 30/12/06 8:03 am, "Xu, Anthony" <anthony.xu@xxxxxxxxx> wrote:

> I want to modifty three hypercalls first.( I think they are frequently
> used).
> 1. send_event_pending,
> 2. hvm_set_isa_irq_level,
> 3. hvm_set_pci_intx_level.
> In the first hypercall, it sends port through pointer rather than value.
> Thus it's difficult to call send_event_pending from user space due to
> there is no similar mechanism as xencomm in user space.
> Is it possible we pass port through value in send_event_pending
> hypercall?

It would have to be a new hypercall, for backward compatibility and also
because the event-channel hypercall has a function prototype that takes a
pointer: we don't really want hypercall functions with different prototypes
multiplexing onto the same hypercall. Also it sounds like you want to do
this for all three commands you mention above, and presumably any more that
seem commonly used in future. 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. But the smaller changes you propose would likely end up being
IA64-specific anyway.

 -- Keir

Xen-devel mailing list