]> xenbits.xensource.com Git - xenclient/kernel.git/commitdiff
[IA64] vti domain save/restore: linux xencomm; add hvm_set/get_context support
authorAlex Williamson <alex.williamson@hp.com>
Sun, 21 Oct 2007 19:40:48 +0000 (13:40 -0600)
committerAlex Williamson <alex.williamson@hp.com>
Sun, 21 Oct 2007 19:40:48 +0000 (13:40 -0600)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
arch/ia64/xen/xcom_privcmd.c

index 09ac9d894ae5377a2a3b2f5738cc16aa1ebaa9dd..6dde9dd35a43c134e7d90ee5c43d713c6eb45b88 100644 (file)
@@ -302,6 +302,17 @@ xencomm_privcmd_domctl(privcmd_hypercall_t *hypercall)
                set_xen_guest_handle(kern_op.u.vcpuaffinity.cpumap.bitmap,
                                     (void *)desc);
                break;
+       case XEN_DOMCTL_gethvmcontext:
+       case XEN_DOMCTL_sethvmcontext:
+               if (kern_op.u.hvmcontext.size > 0)
+                       desc = xencomm_map(
+                               xen_guest_handle(kern_op.u.hvmcontext.buffer),
+                               kern_op.u.hvmcontext.size);
+               if (xen_guest_handle(kern_op.u.hvmcontext.buffer) != NULL &&
+                   kern_op.u.hvmcontext.size > 0 && desc == NULL)
+                       return -ENOMEM;
+               set_xen_guest_handle(kern_op.u.hvmcontext.buffer, (void*)desc);
+               break;
        case XEN_DOMCTL_max_vcpus:
        case XEN_DOMCTL_scheduler_op:
        case XEN_DOMCTL_setdomainhandle: