Merge branch 'master' of git://www.denx.de/git/u-boot-imx
[karo-tx-uboot.git] / arch / arm / cpu / armv8 / tlb.S
1 /*
2  * (C) Copyright 2013
3  * David Feng <fenghua@phytium.com.cn>
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #include <asm-offsets.h>
9 #include <config.h>
10 #include <version.h>
11 #include <linux/linkage.h>
12 #include <asm/macro.h>
13
14 /*
15  * void __asm_invalidate_tlb_all(void)
16  *
17  * invalidate all tlb entries.
18  */
19 ENTRY(__asm_invalidate_tlb_all)
20         switch_el x9, 3f, 2f, 1f
21 3:      tlbi    alle3
22         dsb     sy
23         isb
24         b       0f
25 2:      tlbi    alle2
26         dsb     sy
27         isb
28         b       0f
29 1:      tlbi    vmalle1
30         dsb     sy
31         isb
32 0:
33         ret
34 ENDPROC(__asm_invalidate_tlb_all)