WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [IA64] xensystem.h, Xen patchbot -unstable <=