Hi,
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@xxxxxxx>
Cheers,
Jes
# HG changeset patch
# User jes@xxxxxxxxxxxxxxxx
# Date 1166187024 -3600
# Node ID fd3e080a4f54d1fbb4a1518a05508262b7ab3fce
# Parent 2a5baff73732c6942f7cbfb8eedd713011f27fa0
use machine vector for global tlb purge
diff -r 2a5baff73732 -r fd3e080a4f54 xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c
--- a/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c Fri Dec 15 10:36:59
2006 +0100
+++ b/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c Fri Dec 15 13:50:24
2006 +0100
@@ -173,7 +173,7 @@ sn2_global_tlb_purge(unsigned long start
int mymm = (mm == current->active_mm && mm == current->mm);
#else
// struct mm_struct *mm;
- int mymm = 1;
+ int mymm = 0;
#endif
int use_cpu_ptcga;
volatile unsigned long *ptc0, *ptc1;
diff -r 2a5baff73732 -r fd3e080a4f54 xen/arch/ia64/xen/vhpt.c
--- a/xen/arch/ia64/xen/vhpt.c Fri Dec 15 10:36:59 2006 +0100
+++ b/xen/arch/ia64/xen/vhpt.c Fri Dec 15 13:50:24 2006 +0100
@@ -20,9 +20,6 @@
#include <asm/vcpu.h>
#include <asm/vcpumask.h>
#include <asm/vmmu.h>
-
-/* Defined in tlb.c */
-extern void ia64_global_tlb_purge(u64 start, u64 end, u64 nbits);
extern long running_on_sim;
@@ -364,7 +361,7 @@ void domain_flush_vtlb_range (struct dom
// ptc.ga has release semantics.
/* ptc.ga */
- ia64_global_tlb_purge(vadr,vadr+addr_range,PAGE_SHIFT);
+ platform_global_tlb_purge(vadr, vadr + addr_range, PAGE_SHIFT);
perfc_incrc(domain_flush_vtlb_range);
}
@@ -442,7 +439,8 @@ __domain_flush_vtlb_track_entry(struct d
perfc_incrc(domain_flush_vtlb_local);
} else {
/* ptc.ga has release semantics. */
- ia64_global_tlb_purge(vaddr, vaddr + PAGE_SIZE, PAGE_SHIFT);
+ platform_global_tlb_purge(vaddr, vaddr + PAGE_SIZE,
+ PAGE_SHIFT);
perfc_incrc(domain_flush_vtlb_global);
}
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|