X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-sparc64%2Ftlbflush.h;fp=include%2Fasm-sparc64%2Ftlbflush.h;h=3ef9909ac3ac28110ca0b9c62c26397baff41402;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=3487328570edc1b5e86886ec29de371a72055136;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/include/asm-sparc64/tlbflush.h b/include/asm-sparc64/tlbflush.h index 348732857..3ef9909ac 100644 --- a/include/asm-sparc64/tlbflush.h +++ b/include/asm-sparc64/tlbflush.h @@ -1,14 +1,10 @@ #ifndef _SPARC64_TLBFLUSH_H #define _SPARC64_TLBFLUSH_H +#include #include #include -/* TSB flush operations. */ -struct mmu_gather; -extern void flush_tsb_kernel_range(unsigned long start, unsigned long end); -extern void flush_tsb_user(struct mmu_gather *mp); - /* TLB flush operations. */ extern void flush_tlb_pending(void); @@ -18,34 +14,28 @@ extern void flush_tlb_pending(void); #define flush_tlb_page(vma,addr) flush_tlb_pending() #define flush_tlb_mm(mm) flush_tlb_pending() -/* Local cpu only. */ extern void __flush_tlb_all(void); +extern void __flush_tlb_page(unsigned long context, unsigned long page, unsigned long r); extern void __flush_tlb_kernel_range(unsigned long start, unsigned long end); #ifndef CONFIG_SMP +#define flush_tlb_all() __flush_tlb_all() #define flush_tlb_kernel_range(start,end) \ -do { flush_tsb_kernel_range(start,end); \ - __flush_tlb_kernel_range(start,end); \ -} while (0) + __flush_tlb_kernel_range(start,end) #else /* CONFIG_SMP */ +extern void smp_flush_tlb_all(void); extern void smp_flush_tlb_kernel_range(unsigned long start, unsigned long end); +#define flush_tlb_all() smp_flush_tlb_all() #define flush_tlb_kernel_range(start, end) \ -do { flush_tsb_kernel_range(start,end); \ - smp_flush_tlb_kernel_range(start, end); \ -} while (0) + smp_flush_tlb_kernel_range(start, end) #endif /* ! CONFIG_SMP */ -static inline void flush_tlb_pgtables(struct mm_struct *mm, unsigned long start, unsigned long end) -{ - /* We don't use virtual page tables for TLB miss processing - * any more. Nowadays we use the TSB. - */ -} +extern void flush_tlb_pgtables(struct mm_struct *, unsigned long, unsigned long); #endif /* _SPARC64_TLBFLUSH_H */