|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [linux-2.6.18-xen] [IA64] xencomm: support XENMEM_add_to
# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1221567975 -32400
# Node ID 3161879fdf229fe9893e5dea7089aa0a926e86d0
# Parent 7d032c5bb346a7254f364f9692437d49504259ce
[IA64] xencomm: support XENMEM_add_to_physmap and XENMEM_remove_from_phsymap
support XENMEM_add_to_physmap and XENMEM_remove_from_phsymap.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
arch/ia64/xen/xcom_privcmd.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+)
diff -r 7d032c5bb346 -r 3161879fdf22 arch/ia64/xen/xcom_privcmd.c
--- a/arch/ia64/xen/xcom_privcmd.c Tue Sep 16 21:25:54 2008 +0900
+++ b/arch/ia64/xen/xcom_privcmd.c Tue Sep 16 21:26:15 2008 +0900
@@ -575,6 +575,33 @@ xencomm_privcmd_memory_op(privcmd_hyperc
return ret;
}
+ case XENMEM_add_to_physmap:
+ case XENMEM_remove_from_physmap:
+ {
+ void __user *arg = (void __user *)hypercall->arg[1];
+ size_t argsize;
+ struct xencomm_handle *desc;
+
+ switch (cmd) {
+ case XENMEM_add_to_physmap:
+ argsize = sizeof(struct xen_add_to_physmap);
+ break;
+ case XENMEM_remove_from_physmap:
+ argsize = sizeof(struct xen_remove_from_physmap);
+ break;
+ default:
+ BUG();
+ }
+
+ desc = xencomm_map(arg, argsize);
+ if (desc == NULL)
+ return -ENOMEM;
+
+ ret = xencomm_arch_hypercall_memory_op(cmd, desc);
+
+ xencomm_free(desc);
+ return ret;
+ }
default:
printk("%s: unknown memory op %lu\n", __func__, cmd);
ret = -ENOSYS;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [linux-2.6.18-xen] [IA64] xencomm: support XENMEM_add_to_physmap and XENMEM_remove_from_phsymap,
Xen patchbot-linux-2.6.18-xen <=
|
|
|
|
|