]> xenbits.xensource.com Git - people/royger/linux-2.6.18-xen.git/commitdiff
ia64, xencomm: support XEN_SYSCTL_cpupool_op
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 7 Jun 2010 05:57:11 +0000 (06:57 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 7 Jun 2010 05:57:11 +0000 (06:57 +0100)
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
arch/ia64/xen/xcom_privcmd.c

index f9371a0d5e6ebd8004610c3d14be3dab21e876e7..90fdfa911835654e0c29297a6dc4fa8da139f136 100644 (file)
@@ -229,6 +229,18 @@ xencomm_privcmd_sysctl(privcmd_hypercall_t *hypercall)
                return ret;
        }
 
+       case XEN_SYSCTL_cpupool_op:
+               desc = xencomm_map(
+                       xen_guest_handle(kern_op.u.cpupool_op.cpumap.bitmap),
+                       ROUND_DIV(kern_op.u.cpupool_op.cpumap.nr_cpus, 8));
+               if (xen_guest_handle(kern_op.u.cpupool_op.cpumap.bitmap) !=
+                   NULL && kern_op.u.cpupool_op.cpumap.nr_cpus > 0 &&
+                   desc == NULL)
+                       return -ENOMEM;
+               set_xen_guest_handle(kern_op.u.cpupool_op.cpumap.bitmap,
+                                    (void *)desc);
+               break;
+
        ret = xencomm_arch_hypercall_sysctl(op_desc);
 
        /* FIXME: should we restore the handles?  */