# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 7ed6c203efe9c79446ec21a6ba288c04e2ccee55
# Parent dc05c0ce91391550f61c1943d477fd7e6daa2324
[IA64] xensystem.h
Move all Xen memory space constants into xensystem.h
Cleanup related to the move.
Signed-off-by: Tristan Gingold <tristan.gingold@xxxxxxxx>
diff -r dc05c0ce9139 -r 7ed6c203efe9 xen/include/asm-ia64/linux-xen/asm/io.h
--- a/xen/include/asm-ia64/linux-xen/asm/io.h Wed Apr 19 10:35:31 2006 -0600
+++ b/xen/include/asm-ia64/linux-xen/asm/io.h Wed Apr 19 10:39:15 2006 -0600
@@ -23,9 +23,7 @@
#define __SLOW_DOWN_IO do { } while (0)
#define SLOW_DOWN_IO do { } while (0)
-#ifdef XEN
-#define __IA64_UNCACHED_OFFSET 0xe800000000000000UL
-#else
+#ifndef XEN
#define __IA64_UNCACHED_OFFSET 0xc000000000000000UL /* region 6 */
#endif
diff -r dc05c0ce9139 -r 7ed6c203efe9 xen/include/asm-ia64/linux-xen/asm/system.h
--- a/xen/include/asm-ia64/linux-xen/asm/system.h Wed Apr 19 10:35:31
2006 -0600
+++ b/xen/include/asm-ia64/linux-xen/asm/system.h Wed Apr 19 10:39:15
2006 -0600
@@ -20,12 +20,14 @@
#include <asm/percpu.h>
#define GATE_ADDR __IA64_UL_CONST(0xa000000000000000)
+#ifndef XEN
/*
* 0xa000000000000000+2*PERCPU_PAGE_SIZE
* - 0xa000000000000000+3*PERCPU_PAGE_SIZE remain unmapped (guard page)
*/
#define KERNEL_START __IA64_UL_CONST(0xa000000100000000)
#define PERCPU_ADDR (-PERCPU_PAGE_SIZE)
+#endif
#ifndef __ASSEMBLY__
@@ -185,6 +187,7 @@ do {
\
(__ia64_id_flags & IA64_PSR_I) == 0; \
})
+#ifndef XEN
#ifdef __KERNEL__
#ifdef CONFIG_IA32_SUPPORT
@@ -285,6 +288,7 @@ void cpu_idle_wait(void);
#define arch_align_stack(x) (x)
#endif /* __KERNEL__ */
+#endif /* XEN */
#endif /* __ASSEMBLY__ */
diff -r dc05c0ce9139 -r 7ed6c203efe9 xen/include/asm-ia64/uaccess.h
--- a/xen/include/asm-ia64/uaccess.h Wed Apr 19 10:35:31 2006 -0600
+++ b/xen/include/asm-ia64/uaccess.h Wed Apr 19 10:39:15 2006 -0600
@@ -42,7 +42,6 @@
#include <asm/pgtable.h>
#include <asm/io.h>
-#define IS_VMM_ADDRESS(addr) ((((addr) >> 60) ^ ((addr) >> 59)) & 1)
#define __access_ok(addr) (!IS_VMM_ADDRESS((unsigned long)(addr)))
#define access_ok(addr, size) (__access_ok(addr))
#define array_access_ok(addr,count,size)( __access_ok(addr))
diff -r dc05c0ce9139 -r 7ed6c203efe9 xen/include/asm-ia64/vmx_uaccess.h
--- a/xen/include/asm-ia64/vmx_uaccess.h Wed Apr 19 10:35:31 2006 -0600
+++ b/xen/include/asm-ia64/vmx_uaccess.h Wed Apr 19 10:39:15 2006 -0600
@@ -40,8 +40,6 @@
*/
asm (".section \"__ex_table\", \"a\"\n\t.previous");
-/* VT-i reserves bit 60 for the VMM; guest addresses have bit 60 = bit 59 */
-#define IS_VMM_ADDRESS(addr) ((((addr) >> 60) ^ ((addr) >> 59)) & 1)
/* For back compatibility */
#define __access_ok(addr, size, segment) 1
#define access_ok(addr, size, segment) __access_ok((addr), (size), (segment))
diff -r dc05c0ce9139 -r 7ed6c203efe9 xen/include/asm-ia64/xensystem.h
--- a/xen/include/asm-ia64/xensystem.h Wed Apr 19 10:35:31 2006 -0600
+++ b/xen/include/asm-ia64/xensystem.h Wed Apr 19 10:39:15 2006 -0600
@@ -13,15 +13,17 @@
#include <asm/config.h>
#include <linux/kernel.h>
-/* Define HV space hierarchy */
+/* Define HV space hierarchy.
+ VMM memory space is protected by CPL for paravirtualized domains and
+ by VA for VTi domains. VTi imposes VA bit 60 != VA bit 59 for VMM. */
#define XEN_VIRT_SPACE_LOW 0xe800000000000000
#define XEN_VIRT_SPACE_HIGH 0xf800000000000000
+#define __IA64_UNCACHED_OFFSET 0xe800000000000000UL
+
#define XEN_START_ADDR 0xf000000000000000
#define HYPERVISOR_VIRT_START 0xf000000000000000
-#undef KERNEL_START
#define KERNEL_START 0xf000000004000000
-#undef PERCPU_ADDR
#define SHAREDINFO_ADDR 0xf100000000000000
#define SHARED_ARCHINFO_ADDR (SHAREDINFO_ADDR + PAGE_SIZE)
#define PERCPU_ADDR (SHAREDINFO_ADDR - PERCPU_PAGE_SIZE)
@@ -33,13 +35,19 @@
#endif
#define XEN_END_ADDR 0xf400000000000000
+#define IS_VMM_ADDRESS(addr) ((((addr) >> 60) ^ ((addr) >> 59)) & 1)
+
#ifndef __ASSEMBLY__
-#undef IA64_HAS_EXTRA_STATE
#define IA64_HAS_EXTRA_STATE(t) 0
-#undef __switch_to
-extern struct task_struct *vmx_ia64_switch_to (void *next_task);
+struct vcpu;
+extern void ia64_save_extra (struct vcpu *v);
+extern void ia64_load_extra (struct vcpu *v);
+
+extern struct vcpu *vmx_ia64_switch_to (struct vcpu *next_task);
+extern struct vcpu *ia64_switch_to (struct vcpu *next_task);
+
#define __switch_to(prev,next,last) do { \
ia64_save_fpu(prev->arch._thread.fph); \
ia64_load_fpu(next->arch._thread.fph); \
@@ -62,7 +70,6 @@ extern struct task_struct *vmx_ia64_swit
} \
} while (0)
-#undef switch_to
// FIXME SMP... see system.h, does this need to be different?
#define switch_to(prev,next,last) __switch_to(prev, next, last)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|