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

[Xen-changelog] [IA64] xensystem.h



# 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


 


Rackspace

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