[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v3 08/11] arm: introduce more hypercalls



Implement xen_version, event_channel_op, memory_op sysctl and physdev_op
hypercalls.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 xen/arch/arm/Makefile           |    1 +
 xen/arch/arm/physdev.c          |   27 +++++++++++++++++++++++++++
 xen/arch/arm/traps.c            |    5 +++++
 xen/include/asm-arm/hypercall.h |    1 +
 4 files changed, 34 insertions(+), 0 deletions(-)
 create mode 100644 xen/arch/arm/physdev.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 49b64fe..619430c 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -14,6 +14,7 @@ obj-y += kernel.o
 obj-y += mm.o
 obj-y += p2m.o
 obj-y += guestcopy.o
+obj-y += physdev.o
 obj-y += setup.o
 obj-y += time.o
 obj-y += smpboot.o
diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
new file mode 100644
index 0000000..bcf4337
--- /dev/null
+++ b/xen/arch/arm/physdev.c
@@ -0,0 +1,27 @@
+/******************************************************************************
+ * Arch-specific physdev.c
+ *
+ * Copyright (c) 2012, Citrix Systems
+ */
+
+#include <xen/config.h>
+#include <xen/types.h>
+#include <xen/lib.h>
+#include <xen/errno.h>
+#include <asm/hypercall.h>
+
+
+int do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg)
+{
+    printk("%s %d cmd=%d: not implemented yet\n", __func__, __LINE__, cmd);
+    return -ENOSYS;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 750f85a..98bfcd5 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -376,6 +376,11 @@ static arm_hypercall_t *arm_hypercall_table[] = {
     HYPERCALL(arch_0),
     HYPERCALL(sched_op),
     HYPERCALL(console_io),
+    HYPERCALL(xen_version),
+    HYPERCALL(event_channel_op),
+    HYPERCALL(memory_op),
+    HYPERCALL(physdev_op),
+    HYPERCALL(sysctl),
 };
 
 static void do_debug_trap(struct cpu_user_regs *regs, unsigned int code)
diff --git a/xen/include/asm-arm/hypercall.h b/xen/include/asm-arm/hypercall.h
index e840507..454f02e 100644
--- a/xen/include/asm-arm/hypercall.h
+++ b/xen/include/asm-arm/hypercall.h
@@ -2,6 +2,7 @@
 #define __ASM_ARM_HYPERCALL_H__
 
 #include <public/domctl.h> /* for arch_do_domctl */
+int do_physdev_op(int cmd, XEN_GUEST_HANDLE(void) arg);
 
 #endif /* __ASM_ARM_HYPERCALL_H__ */
 /*
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.