# HG changeset patch
# User yamahata@xxxxxxxxxxxxx
# Date 1189751371 -32400
# Node ID 4ab4d270c5cab8a58776cb05a15b07abd28584ec
# Parent  ef6ca90775a0f57c260fe7a81d0ec60bb589d35b
add hvm_{set,get}context support to xcom_privcmd.c
PATCHNAME: xcom_privcmd_hvm_get_set_context

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>

diff -r ef6ca90775a0 -r 4ab4d270c5ca arch/ia64/xen/xcom_privcmd.c
--- a/arch/ia64/xen/xcom_privcmd.c	Fri Sep 14 15:04:31 2007 +0900
+++ b/arch/ia64/xen/xcom_privcmd.c	Fri Sep 14 15:29:31 2007 +0900
@@ -302,6 +302,17 @@ xencomm_privcmd_domctl(privcmd_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: