xref: /rk3399_rockchip-uboot/arch/arm/cpu/armv8/tlb.S (revision c1b62ba9ca0e41fdd548cb3bb9af3b3f90d4a393)
10ae76531SDavid Feng/*
20ae76531SDavid Feng * (C) Copyright 2013
30ae76531SDavid Feng * David Feng <fenghua@phytium.com.cn>
40ae76531SDavid Feng *
50ae76531SDavid Feng * SPDX-License-Identifier:	GPL-2.0+
60ae76531SDavid Feng */
70ae76531SDavid Feng
80ae76531SDavid Feng#include <asm-offsets.h>
90ae76531SDavid Feng#include <config.h>
100ae76531SDavid Feng#include <linux/linkage.h>
110ae76531SDavid Feng#include <asm/macro.h>
120ae76531SDavid Feng
130ae76531SDavid Feng/*
140ae76531SDavid Feng * void __asm_invalidate_tlb_all(void)
150ae76531SDavid Feng *
160ae76531SDavid Feng * invalidate all tlb entries.
170ae76531SDavid Feng*/
18*e6a05862SPhilipp Tomsich.pushsection .text.__asm_invalidate_tlb_all, "ax"
190ae76531SDavid FengENTRY(__asm_invalidate_tlb_all)
200ae76531SDavid Feng	switch_el x9, 3f, 2f, 1f
210ae76531SDavid Feng3:	tlbi	alle3
220ae76531SDavid Feng	dsb	sy
230ae76531SDavid Feng	isb
240ae76531SDavid Feng	b	0f
250ae76531SDavid Feng2:	tlbi	alle2
260ae76531SDavid Feng	dsb	sy
270ae76531SDavid Feng	isb
280ae76531SDavid Feng	b	0f
290ae76531SDavid Feng1:	tlbi	vmalle1
300ae76531SDavid Feng	dsb	sy
310ae76531SDavid Feng	isb
320ae76531SDavid Feng0:
330ae76531SDavid Feng	ret
340ae76531SDavid FengENDPROC(__asm_invalidate_tlb_all)
35*e6a05862SPhilipp Tomsich.popsection
36