Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[pandora-kernel.git] / arch / x86 / include / asm / xen / hypercall.h
index 7fda040..a3c28ae 100644 (file)
@@ -200,6 +200,23 @@ extern struct { char _entry[32]; } hypercall_page[];
        (type)__res;                                                    \
 })
 
+static inline long
+privcmd_call(unsigned call,
+            unsigned long a1, unsigned long a2,
+            unsigned long a3, unsigned long a4,
+            unsigned long a5)
+{
+       __HYPERCALL_DECLS;
+       __HYPERCALL_5ARG(a1, a2, a3, a4, a5);
+
+       asm volatile("call *%[call]"
+                    : __HYPERCALL_5PARAM
+                    : [call] "a" (&hypercall_page[call])
+                    : __HYPERCALL_CLOBBER5);
+
+       return (long)__res;
+}
+
 static inline int
 HYPERVISOR_set_trap_table(struct trap_info *table)
 {