34 lines
		
	
	
		
			480 B
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			480 B
		
	
	
	
		
			ArmAsm
		
	
	
	
| /*
 | |
|  * (C) Copyright 2013
 | |
|  * David Feng <fenghua@phytium.com.cn>
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #include <asm-offsets.h>
 | |
| #include <config.h>
 | |
| #include <linux/linkage.h>
 | |
| #include <asm/macro.h>
 | |
| 
 | |
| /*
 | |
|  * void __asm_invalidate_tlb_all(void)
 | |
|  *
 | |
|  * invalidate all tlb entries.
 | |
|  */
 | |
| ENTRY(__asm_invalidate_tlb_all)
 | |
| 	switch_el x9, 3f, 2f, 1f
 | |
| 3:	tlbi	alle3
 | |
| 	dsb	sy
 | |
| 	isb
 | |
| 	b	0f
 | |
| 2:	tlbi	alle2
 | |
| 	dsb	sy
 | |
| 	isb
 | |
| 	b	0f
 | |
| 1:	tlbi	vmalle1
 | |
| 	dsb	sy
 | |
| 	isb
 | |
| 0:
 | |
| 	ret
 | |
| ENDPROC(__asm_invalidate_tlb_all)
 |