33 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Copyright (C) 2004-2006 Atmel Corporation
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This program is free software; you can redistribute it and/or modify
							 | 
						||
| 
								 | 
							
								 * it under the terms of the GNU General Public License version 2 as
							 | 
						||
| 
								 | 
							
								 * published by the Free Software Foundation.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#ifndef __ASM_AVR32_TLBFLUSH_H
							 | 
						||
| 
								 | 
							
								#define __ASM_AVR32_TLBFLUSH_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <asm/mmu.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * TLB flushing:
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 *  - flush_tlb() flushes the current mm struct TLBs
							 | 
						||
| 
								 | 
							
								 *  - flush_tlb_all() flushes all processes' TLB entries
							 | 
						||
| 
								 | 
							
								 *  - flush_tlb_mm(mm) flushes the specified mm context TLBs
							 | 
						||
| 
								 | 
							
								 *  - flush_tlb_page(vma, vmaddr) flushes one page
							 | 
						||
| 
								 | 
							
								 *  - flush_tlb_range(vma, start, end) flushes a range of pages
							 | 
						||
| 
								 | 
							
								 *  - flush_tlb_kernel_range(start, end) flushes a range of kernel pages
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								extern void flush_tlb(void);
							 | 
						||
| 
								 | 
							
								extern void flush_tlb_all(void);
							 | 
						||
| 
								 | 
							
								extern void flush_tlb_mm(struct mm_struct *mm);
							 | 
						||
| 
								 | 
							
								extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
							 | 
						||
| 
								 | 
							
											    unsigned long end);
							 | 
						||
| 
								 | 
							
								extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern void flush_tlb_kernel_range(unsigned long start, unsigned long end);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __ASM_AVR32_TLBFLUSH_H */
							 |