diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-02-28 17:45:20 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-02-28 17:45:20 +0100 |
commit | 99cab9a77803cdb6a50de453ba1115f25973bf88 (patch) | |
tree | 34bfc7e7efe6430650e6f334b8601cffc5c4d55c /xen/common/multicall.c | |
parent | ec42d0fc1aea4b1061036dde651dca14b03e35df (diff) | |
download | xen-99cab9a77803cdb6a50de453ba1115f25973bf88.tar.gz xen-99cab9a77803cdb6a50de453ba1115f25973bf88.tar.bz2 xen-99cab9a77803cdb6a50de453ba1115f25973bf88.zip |
Sketch a new interface for transferring hypercall arguments in memory.
Instead of manipulating guest virtual addresses, 'guest handles' are
passed across the hypercall interface, which may only be manipulated
via the interface exported by guest_access.h.
So far this has only been applied to the memory_op hypercall. The
interfaces are still subject to change. Other hypercalls can be updated
after the interface is agreed upon.
Also cleaned up the hypercall_create_continuation() interface to take
a format string and different-typed varargs (they do not all need to
be castable to longs).
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/common/multicall.c')
-rw-r--r-- | xen/common/multicall.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/xen/common/multicall.c b/xen/common/multicall.c index d6473a8b4b..823625aad1 100644 --- a/xen/common/multicall.c +++ b/xen/common/multicall.c @@ -81,8 +81,8 @@ long do_multicall(struct multicall_entry *call_list, unsigned int nr_calls) if ( i < nr_calls ) { mcs->flags = 0; - return hypercall2_create_continuation( - __HYPERVISOR_multicall, &call_list[i], nr_calls-i); + return hypercall_create_continuation( + __HYPERVISOR_multicall, "pi", &call_list[i], nr_calls-i); } } } |