blob: 46a0d7d8f63d25ff80e7a232525172c574553f89 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
David Feng85fd5f12013-12-14 11:47:35 +08002/*
3 * (C) Copyright 2013
4 * David Feng <fenghua@phytium.com.cn>
David Feng85fd5f12013-12-14 11:47:35 +08005 */
6
7#include <asm-offsets.h>
8#include <config.h>
David Feng85fd5f12013-12-14 11:47:35 +08009#include <linux/linkage.h>
10#include <asm/macro.h>
11
12/*
13 * void __asm_invalidate_tlb_all(void)
14 *
15 * invalidate all tlb entries.
Philipp Tomsichd15592f2017-07-04 10:04:54 +020016*/
17.pushsection .text.__asm_invalidate_tlb_all, "ax"
David Feng85fd5f12013-12-14 11:47:35 +080018ENTRY(__asm_invalidate_tlb_all)
19 switch_el x9, 3f, 2f, 1f
203: tlbi alle3
21 dsb sy
22 isb
23 b 0f
242: tlbi alle2
25 dsb sy
26 isb
27 b 0f
281: tlbi vmalle1
29 dsb sy
30 isb
310:
32 ret
33ENDPROC(__asm_invalidate_tlb_all)
Philipp Tomsichd15592f2017-07-04 10:04:54 +020034.popsection