aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/mm.c
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2012-10-17 16:43:53 +0100
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2012-10-17 16:43:53 +0100
commitabf06ea91d1210d9cf7cde4c0465cd49b21efacb (patch)
tree80f1316ffd5381b09442732c5e4015bcc49fe3f5 /xen/arch/x86/mm.c
parente7a527e100dd3f72e0f9b672ab97324d80e064df (diff)
downloadxen-abf06ea91d1210d9cf7cde4c0465cd49b21efacb.tar.gz
xen-abf06ea91d1210d9cf7cde4c0465cd49b21efacb.tar.bz2
xen-abf06ea91d1210d9cf7cde4c0465cd49b21efacb.zip
xen: more XEN_GUEST_HANDLE_PARAM substitutions
More substitutions in this patch, not as obvious as the ones in the previous patch. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'xen/arch/x86/mm.c')
-rw-r--r--xen/arch/x86/mm.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 9a828debb1..191f5ea453 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -2913,7 +2913,9 @@ long do_mmuext_op(
{
cpumask_t pmask;
- if ( unlikely(vcpumask_to_pcpumask(d, op.arg2.vcpumask, &pmask)) )
+ if ( unlikely(vcpumask_to_pcpumask(d,
+ guest_handle_to_param(op.arg2.vcpumask, const_void),
+ &pmask)) )
{
okay = 0;
break;
@@ -4195,6 +4197,7 @@ static int handle_iomem_range(unsigned long s, unsigned long e, void *p)
if ( s > ctxt->s )
{
e820entry_t ent;
+ XEN_GUEST_HANDLE_PARAM(e820entry_t) buffer_param;
XEN_GUEST_HANDLE(e820entry_t) buffer;
if ( ctxt->n + 1 >= ctxt->map.nr_entries )
@@ -4202,7 +4205,8 @@ static int handle_iomem_range(unsigned long s, unsigned long e, void *p)
ent.addr = (uint64_t)ctxt->s << PAGE_SHIFT;
ent.size = (uint64_t)(s - ctxt->s) << PAGE_SHIFT;
ent.type = E820_RESERVED;
- buffer = guest_handle_cast(ctxt->map.buffer, e820entry_t);
+ buffer_param = guest_handle_cast(ctxt->map.buffer, e820entry_t);
+ buffer = guest_handle_from_param(buffer_param, e820entry_t);
if ( __copy_to_guest_offset(buffer, ctxt->n, &ent, 1) )
return -EFAULT;
ctxt->n++;
@@ -4499,6 +4503,7 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
{
struct memory_map_context ctxt;
XEN_GUEST_HANDLE(e820entry_t) buffer;
+ XEN_GUEST_HANDLE_PARAM(e820entry_t) buffer_param;
unsigned int i;
if ( !IS_PRIV(current->domain) )
@@ -4513,7 +4518,8 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
if ( ctxt.map.nr_entries < e820.nr_map + 1 )
return -EINVAL;
- buffer = guest_handle_cast(ctxt.map.buffer, e820entry_t);
+ buffer_param = guest_handle_cast(ctxt.map.buffer, e820entry_t);
+ buffer = guest_handle_from_param(buffer_param, e820entry_t);
if ( !guest_handle_okay(buffer, ctxt.map.nr_entries) )
return -EFAULT;