direct-io.hg

changeset 11938:92bd25c46f27

[IA64] do not export XSI_BASE, use set_shared_info_va

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).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
author awilliam@xenbuild.aw
date Sun Oct 01 11:09:54 2006 -0600 (2006-10-01)
parents f6007621cc0c
children a947ca5d4731
files linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h xen/include/public/arch-ia64.h
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S	Sun Oct 01 11:05:24 2006 -0600
     1.2 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S	Sun Oct 01 11:09:54 2006 -0600
     1.3 @@ -23,12 +23,11 @@ GLOBAL_ENTRY(early_xen_setup)
     1.4  	
     1.5  	mov cr.iva=r10
     1.6  
     1.7 -#if XSI_BASE != 0xf100000000000000UL
     1.8 -	/* Backward compatibility.  */
     1.9 -(isBP)	mov r2=0x600
    1.10 +	/* Set xsi base.  */
    1.11 +#define FW_HYPERCALL_SET_SHARED_INFO_VA			0x600
    1.12 +(isBP)	mov r2=FW_HYPERCALL_SET_SHARED_INFO_VA
    1.13  (isBP)	movl r28=XSI_BASE;;
    1.14  (isBP)	break 0x1000;;
    1.15 -#endif
    1.16  
    1.17  	br.ret.sptk.many rp
    1.18  	;;
     2.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Sun Oct 01 11:05:24 2006 -0600
     2.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Sun Oct 01 11:09:54 2006 -0600
     2.3 @@ -14,12 +14,9 @@
     2.4  
     2.5  #define IA64_PARAVIRTUALIZED
     2.6  
     2.7 -#if 0
     2.8 -#undef XSI_BASE
     2.9  /* At 1 MB, before per-cpu space but still addressable using addl instead
    2.10     of movl. */
    2.11  #define XSI_BASE				0xfffffffffff00000
    2.12 -#endif
    2.13  
    2.14  /* Address of mapped regs.  */
    2.15  #define XMAPPEDREGS_BASE		(XSI_BASE + XSI_SIZE)
     3.1 --- a/xen/include/public/arch-ia64.h	Sun Oct 01 11:05:24 2006 -0600
     3.2 +++ b/xen/include/public/arch-ia64.h	Sun Oct 01 11:09:54 2006 -0600
     3.3 @@ -395,10 +395,6 @@ struct xen_ia64_boot_param {
     3.4  
     3.5  #endif /* !__ASSEMBLY__ */
     3.6  
     3.7 -/* Address of shared_info in domain virtual space.
     3.8 -   This is the default address, for compatibility only.  */
     3.9 -#define XSI_BASE			0xf100000000000000
    3.10 -
    3.11  /* Size of the shared_info area (this is not related to page size).  */
    3.12  #define XSI_SHIFT			14
    3.13  #define XSI_SIZE			(1 << XSI_SHIFT)