aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/x86_64
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2010-11-16 14:16:36 +0000
committerKeir Fraser <keir@xen.org>2010-11-16 14:16:36 +0000
commit106f2288c2a71e4f6438d5e2571a78720e659d34 (patch)
tree085fb5fd0943b5fd21d2bbdfbebf622eb0ee8362 /xen/include/asm-x86/x86_64
parent561e9179370c6927160eb797e1dccc5351d13eb3 (diff)
downloadxen-106f2288c2a71e4f6438d5e2571a78720e659d34.tar.gz
xen-106f2288c2a71e4f6438d5e2571a78720e659d34.tar.bz2
xen-106f2288c2a71e4f6438d5e2571a78720e659d34.zip
x86_64: Make 32-bit-hypercall translate area per-vcpu.
This is a prerequisite for allowing guest descheduling within a hypercall. Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/asm-x86/x86_64')
-rw-r--r--xen/include/asm-x86/x86_64/uaccess.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/xen/include/asm-x86/x86_64/uaccess.h b/xen/include/asm-x86/x86_64/uaccess.h
index c5cb386d2b..e35ce28e03 100644
--- a/xen/include/asm-x86/x86_64/uaccess.h
+++ b/xen/include/asm-x86/x86_64/uaccess.h
@@ -1,11 +1,12 @@
#ifndef __X86_64_UACCESS_H
#define __X86_64_UACCESS_H
-#define COMPAT_ARG_XLAT_VIRT_BASE this_cpu(compat_arg_xlat)
+#define COMPAT_ARG_XLAT_VIRT_BASE compat_arg_xlat_virt_base()
#define COMPAT_ARG_XLAT_SIZE (2*PAGE_SIZE)
-DECLARE_PER_CPU(void *, compat_arg_xlat);
-int setup_compat_arg_xlat(unsigned int cpu, int node);
-void free_compat_arg_xlat(unsigned int cpu);
+struct vcpu;
+void *compat_arg_xlat_virt_base(void);
+int setup_compat_arg_xlat(struct vcpu *v);
+void free_compat_arg_xlat(struct vcpu *v);
#define is_compat_arg_xlat_range(addr, size) ({ \
unsigned long __off; \
__off = (unsigned long)(addr) - (unsigned long)COMPAT_ARG_XLAT_VIRT_BASE; \