WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [linux-2.6.18-xen] [IA64] xencomm: tmem support.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] [IA64] xencomm: tmem support.
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 29 Jun 2009 03:21:01 -0700
Delivery-date: Mon, 29 Jun 2009 03:23:31 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1246242196 -32400
# Node ID 92a119f247f7e0df7557ecc4526f40c5709f38b1
# Parent  5bb4e5dd1abc7d9ec42fefdae2726b4040d07f2e
[IA64] xencomm: tmem support.

add tmem support to xencomm.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 arch/ia64/xen/xcom_hcall.c   |   13 +++++++++++++
 arch/ia64/xen/xcom_privcmd.c |   19 +++++++++++++++++++
 include/asm-ia64/hypercall.h |    7 +++++++
 3 files changed, 39 insertions(+)

diff -r 5bb4e5dd1abc -r 92a119f247f7 arch/ia64/xen/xcom_hcall.c
--- a/arch/ia64/xen/xcom_hcall.c        Mon Jun 29 11:22:41 2009 +0900
+++ b/arch/ia64/xen/xcom_hcall.c        Mon Jun 29 11:23:16 2009 +0900
@@ -40,6 +40,7 @@
 #include <xen/interface/xenoprof.h>
 #include <xen/interface/vcpu.h>
 #include <xen/interface/kexec.h>
+#include <xen/interface/tmem.h>
 #include <asm/hypervisor.h>
 #include <asm/page.h>
 #include <asm/uaccess.h>
@@ -739,3 +740,15 @@ xencomm_hypercall_kexec_op(int cmd, void
 
        return xencomm_arch_hypercall_kexec_op(cmd, desc);
 }
+
+int
+xencomm_hypercall_tmem_op(struct tmem_op *op)
+{
+       struct xencomm_handle *desc;
+
+       desc = xencomm_map_no_alloc(op, sizeof(*op));
+       if (desc == NULL)
+               return -EINVAL;
+
+       return xencomm_arch_hypercall_tmem_op(desc);
+}
diff -r 5bb4e5dd1abc -r 92a119f247f7 arch/ia64/xen/xcom_privcmd.c
--- a/arch/ia64/xen/xcom_privcmd.c      Mon Jun 29 11:22:41 2009 +0900
+++ b/arch/ia64/xen/xcom_privcmd.c      Mon Jun 29 11:23:16 2009 +0900
@@ -32,6 +32,7 @@
 #include <xen/interface/xsm/acm_ops.h>
 #include <xen/interface/hvm/params.h>
 #include <xen/interface/arch-ia64/debug_op.h>
+#include <xen/interface/tmem.h>
 #include <xen/public/privcmd.h>
 #include <asm/hypercall.h>
 #include <asm/page.h>
@@ -892,6 +893,22 @@ xencomm_privcmd_ia64_physdev_op(privcmd_
                return -ENOMEM;
 
        ret = xencomm_arch_hypercall_physdev_op(cmd, desc);
+
+       xencomm_free(desc);
+       return ret;
+}
+
+static int
+xencomm_privcmd_tmem_op(privcmd_hypercall_t *hypercall)
+{
+       struct xencomm_handle *desc;
+       int ret;
+
+       desc = xencomm_map((void *)hypercall->arg[0], sizeof(struct tmem_op));
+       if (desc == NULL)
+               return -ENOMEM;
+
+       ret = xencomm_arch_hypercall_tmem_op(desc);
 
        xencomm_free(desc);
        return ret;
@@ -925,6 +942,8 @@ privcmd_hypercall(privcmd_hypercall_t *h
                return xencomm_privcmd_ia64_debug_op(hypercall);
        case __HYPERVISOR_physdev_op:
                return xencomm_privcmd_ia64_physdev_op(hypercall);
+       case __HYPERVISOR_tmem_op:
+               return xencomm_privcmd_tmem_op(hypercall);
        default:
                printk("%s: unknown hcall (%ld)\n", __func__, hypercall->op);
                return -ENOSYS;
diff -r 5bb4e5dd1abc -r 92a119f247f7 include/asm-ia64/hypercall.h
--- a/include/asm-ia64/hypercall.h      Mon Jun 29 11:22:41 2009 +0900
+++ b/include/asm-ia64/hypercall.h      Mon Jun 29 11:23:16 2009 +0900
@@ -433,6 +433,12 @@ xencomm_arch_hypercall_kexec_op(int cmd,
 xencomm_arch_hypercall_kexec_op(int cmd, struct xencomm_handle *arg)
 {
        return _hypercall2(int, kexec_op, cmd, arg);
+}
+
+static inline int
+xencomm_arch_hypercall_tmem_op(struct xencomm_handle *arg)
+{
+       return _hypercall1(int, tmem_op, arg);
 }
 
 // for balloon driver
@@ -455,6 +461,7 @@ xencomm_arch_hypercall_kexec_op(int cmd,
 #define HYPERVISOR_vcpu_op xencomm_hypercall_vcpu_op
 #define HYPERVISOR_opt_feature xencomm_hypercall_opt_feature
 #define HYPERVISOR_kexec_op xencomm_hypercall_kexec_op
+#define HYPERVISOR_tmem_op xencomm_hypercall_tmem_op
 
 /* to compile gnttab_copy_grant_page() in drivers/xen/core/gnttab.c */
 #define HYPERVISOR_mmu_update(req, count, success_count, domid) ({BUG();0;})

_______________________________________________
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: tmem support., Xen patchbot-linux-2.6.18-xen <=