[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-ia64-devel
Subject:    [Xen-ia64-devel] PATCH: do not export XSI_BASE,
From:       Tristan Gingold <Tristan.Gingold () bull ! net>
Date:       2006-09-28 13:23:13
Message-ID: 200609281523.13731.Tristan.Gingold () bull ! net
[Download RAW message or body]

Hi,

until now, the set_shared_info_va hypercall was never used.
This patch remove XSI_BASE and use this hypercall to set the xsi address.
Because xsi is now in the top 1MB (before percpu space), linux code should be 
slightly more compact (addl instead of movl).

Tested by running dom0+domU.

Tristan.

["xen-xsi2.diffs" (text/x-diff)]

# HG changeset patch
# User gingold@virtu10
# Node ID 869cc1f44e52d9578dc9fe3658437127d1116081
# Parent  780e422b936818fbc91a458f1e7632d2ded48332
Do not export XSI_BASE.

OS now have to explicitly set the xsi base.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>

diff -r 780e422b9368 -r 869cc1f44e52 linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S
--- a/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S	Thu Sep 28 11:06:30 2006 +0200
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S	Thu Sep 28 12:47:49 2006 +0200
@@ -23,12 +23,11 @@ GLOBAL_ENTRY(early_xen_setup)
 	
 	mov cr.iva=r10
 
-#if XSI_BASE != 0xf100000000000000UL
-	/* Backward compatibility.  */
-(isBP)	mov r2=0x600
+	/* Set xsi base.  */
+#define FW_HYPERCALL_SET_SHARED_INFO_VA			0x600
+(isBP)	mov r2=FW_HYPERCALL_SET_SHARED_INFO_VA
 (isBP)	movl r28=XSI_BASE;;
 (isBP)	break 0x1000;;
-#endif
 
 	br.ret.sptk.many rp
 	;;
diff -r 780e422b9368 -r 869cc1f44e52 linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Thu Sep 28 11:06:30 2006 +0200
+++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Thu Sep 28 12:47:49 2006 +0200
@@ -14,12 +14,9 @@
 
 #define IA64_PARAVIRTUALIZED
 
-#if 0
-#undef XSI_BASE
 /* At 1 MB, before per-cpu space but still addressable using addl instead
    of movl. */
 #define XSI_BASE				0xfffffffffff00000
-#endif
 
 /* Address of mapped regs.  */
 #define XMAPPEDREGS_BASE		(XSI_BASE + XSI_SIZE)
diff -r 780e422b9368 -r 869cc1f44e52 xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h	Thu Sep 28 11:06:30 2006 +0200
+++ b/xen/include/public/arch-ia64.h	Thu Sep 28 12:47:49 2006 +0200
@@ -392,10 +392,6 @@ struct xen_ia64_boot_param {
 
 #endif /* !__ASSEMBLY__ */
 
-/* Address of shared_info in domain virtual space.
-   This is the default address, for compatibility only.  */
-#define XSI_BASE			0xf100000000000000
-
 /* Size of the shared_info area (this is not related to page size).  */
 #define XSI_SHIFT			14
 #define XSI_SIZE			(1 << XSI_SHIFT)


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic