blob: 6743111b6a1085245f3df70deaea95eb6bfcd3da [file] [log] [blame]
David Feng85fd5f12013-12-14 11:47:35 +08001/*
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>
David Feng85fd5f12013-12-14 11:47:35 +080010#include <linux/linkage.h>
11#include <asm/macro.h>
12
13/*
14 * void __asm_invalidate_tlb_all(void)
15 *
16 * invalidate all tlb entries.
Philipp Tomsichd15592f2017-07-04 10:04:54 +020017*/
18.pushsection .text.__asm_invalidate_tlb_all, "ax"
David Feng85fd5f12013-12-14 11:47:35 +080019ENTRY(__asm_invalidate_tlb_all)
20 switch_el x9, 3f, 2f, 1f
213: tlbi alle3
22 dsb sy
23 isb
24 b 0f
252: tlbi alle2
26 dsb sy
27 isb
28 b 0f
291: tlbi vmalle1
30 dsb sy
31 isb
320:
33 ret
34ENDPROC(__asm_invalidate_tlb_all)
Philipp Tomsichd15592f2017-07-04 10:04:54 +020035.popsection