aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/mm/proc.S
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2015-01-24 11:54:15 +0000
committerMark Brown <broonie@kernel.org>2015-01-24 11:54:15 +0000
commit93510b46df6de7db4ca3f116ac1386b24d120566 (patch)
tree8fb61f128c11c3208721db79204fb3e170c4beb6 /arch/arm64/mm/proc.S
parenteb72e852c75d21ed6781027f0e3976bb7bd29f08 (diff)
parent15f82fce54b86e159fe5a1d41dcdc89e12b26459 (diff)
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-rtlsk-v3.10-rt-15.01
Diffstat (limited to 'arch/arm64/mm/proc.S')
-rw-r--r--arch/arm64/mm/proc.S15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S
index c3c7b8f83b55..c133ae53ed86 100644
--- a/arch/arm64/mm/proc.S
+++ b/arch/arm64/mm/proc.S
@@ -69,6 +69,21 @@ ENTRY(cpu_reset)
ret x0
ENDPROC(cpu_reset)
+ENTRY(cpu_soft_restart)
+ /* Save address of cpu_reset() and reset address */
+ mov x19, x0
+ mov x20, x1
+
+ /* Turn D-cache off */
+ bl cpu_cache_off
+
+ /* Push out all dirty data, and ensure cache is empty */
+ bl flush_cache_all
+
+ mov x0, x20
+ ret x19
+ENDPROC(cpu_soft_restart)
+
/*
* cpu_do_idle()
*