ia64/xen-unstable

changeset 13103:1e042dde1a5f

[IA64] Use machine vector for global tlb purge

Switch to using the platform vector for global tlb purges. In fact
nothing should be calling ia64_global_tlb_purge() directly.

Signed-off-by: Jes Sorensen <jes@sgi.com>
author awilliam@xenbuild2.aw
date Fri Dec 15 10:59:33 2006 -0700 (2006-12-15)
parents 5a68672cee38
children e17d7438e09e
files xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c xen/arch/ia64/xen/vhpt.c
line diff
     1.1 --- a/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c	Thu Dec 14 13:29:17 2006 -0700
     1.2 +++ b/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c	Fri Dec 15 10:59:33 2006 -0700
     1.3 @@ -173,7 +173,7 @@ sn2_global_tlb_purge(unsigned long start
     1.4  	int mymm = (mm == current->active_mm && mm == current->mm);
     1.5  #else
     1.6  	// struct mm_struct *mm;
     1.7 -	int mymm = 1;
     1.8 +	int mymm = 0;
     1.9  #endif
    1.10  	int use_cpu_ptcga;
    1.11  	volatile unsigned long *ptc0, *ptc1;
     2.1 --- a/xen/arch/ia64/xen/vhpt.c	Thu Dec 14 13:29:17 2006 -0700
     2.2 +++ b/xen/arch/ia64/xen/vhpt.c	Fri Dec 15 10:59:33 2006 -0700
     2.3 @@ -21,9 +21,6 @@
     2.4  #include <asm/vcpumask.h>
     2.5  #include <asm/vmmu.h>
     2.6  
     2.7 -/* Defined in tlb.c  */
     2.8 -extern void ia64_global_tlb_purge(u64 start, u64 end, u64 nbits);
     2.9 -
    2.10  extern long running_on_sim;
    2.11  
    2.12  DEFINE_PER_CPU (unsigned long, vhpt_paddr);
    2.13 @@ -364,7 +361,7 @@ void domain_flush_vtlb_range (struct dom
    2.14  	// ptc.ga has release semantics.
    2.15  
    2.16  	/* ptc.ga  */
    2.17 -	ia64_global_tlb_purge(vadr,vadr+addr_range,PAGE_SHIFT);
    2.18 +	platform_global_tlb_purge(vadr, vadr + addr_range, PAGE_SHIFT);
    2.19  	perfc_incrc(domain_flush_vtlb_range);
    2.20  }
    2.21  
    2.22 @@ -442,7 +439,8 @@ void
    2.23  		perfc_incrc(domain_flush_vtlb_local);
    2.24  	} else {
    2.25  		/* ptc.ga has release semantics. */
    2.26 -		ia64_global_tlb_purge(vaddr, vaddr + PAGE_SIZE, PAGE_SHIFT);
    2.27 +		platform_global_tlb_purge(vaddr, vaddr + PAGE_SIZE,
    2.28 +		                          PAGE_SHIFT);
    2.29  		perfc_incrc(domain_flush_vtlb_global);
    2.30  	}
    2.31