diff options
Diffstat (limited to 'arch/arm64/mm')
-rw-r--r-- | arch/arm64/mm/proc.S | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm64/mm/proc.S b/arch/arm64/mm/proc.S index 7736779c9809..4e778b13291b 100644 --- a/arch/arm64/mm/proc.S +++ b/arch/arm64/mm/proc.S | |||
@@ -76,6 +76,21 @@ ENTRY(cpu_reset) | |||
76 | ret x0 | 76 | ret x0 |
77 | ENDPROC(cpu_reset) | 77 | ENDPROC(cpu_reset) |
78 | 78 | ||
79 | ENTRY(cpu_soft_restart) | ||
80 | /* Save address of cpu_reset() and reset address */ | ||
81 | mov x19, x0 | ||
82 | mov x20, x1 | ||
83 | |||
84 | /* Turn D-cache off */ | ||
85 | bl cpu_cache_off | ||
86 | |||
87 | /* Push out all dirty data, and ensure cache is empty */ | ||
88 | bl flush_cache_all | ||
89 | |||
90 | mov x0, x20 | ||
91 | ret x19 | ||
92 | ENDPROC(cpu_soft_restart) | ||
93 | |||
79 | /* | 94 | /* |
80 | * cpu_do_idle() | 95 | * cpu_do_idle() |
81 | * | 96 | * |