summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv8/tlb.S
diff options
context:
space:
mode:
authorDavid Feng <fenghua@phytium.com.cn>2013-12-14 11:47:35 +0800
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2014-01-09 16:08:44 +0100
commit0ae7653128c80a4f2920cbe9b124792c2fd9d9e0 (patch)
tree14fea7a80e4ea84c7b6a3bc32298daeec55054c7 /arch/arm/cpu/armv8/tlb.S
parent54799e4596bf8af33fd4a8dee153be7011c06d8d (diff)
downloadu-boot-imx-0ae7653128c80a4f2920cbe9b124792c2fd9d9e0.zip
u-boot-imx-0ae7653128c80a4f2920cbe9b124792c2fd9d9e0.tar.gz
u-boot-imx-0ae7653128c80a4f2920cbe9b124792c2fd9d9e0.tar.bz2
arm64: core support
Relocation code based on a patch by Scott Wood, which is: Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: David Feng <fenghua@phytium.com.cn>
Diffstat (limited to 'arch/arm/cpu/armv8/tlb.S')
-rw-r--r--arch/arm/cpu/armv8/tlb.S34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/tlb.S b/arch/arm/cpu/armv8/tlb.S
new file mode 100644
index 0000000..f840b04
--- /dev/null
+++ b/arch/arm/cpu/armv8/tlb.S
@@ -0,0 +1,34 @@
+/*
+ * (C) Copyright 2013
+ * David Feng <fenghua@phytium.com.cn>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <asm-offsets.h>
+#include <config.h>
+#include <version.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)