Commit 3bdc3484e8f2b1b219ad0397d81ce4601fbaf76d
1 parent
02b73e2e9c
Exists in
master
and in
6 other branches
ARM: kexec: use soft_restart for branching to the reboot buffer
Now that there is a common way to reset the machine, let's use it instead of reinventing the wheel in the kexec backend. Signed-off-by: Will Deacon <will.deacon@arm.com>
Showing 1 changed file with 3 additions and 12 deletions Side-by-side Diff
arch/arm/kernel/machine_kexec.c
... | ... | @@ -12,12 +12,11 @@ |
12 | 12 | #include <asm/mmu_context.h> |
13 | 13 | #include <asm/cacheflush.h> |
14 | 14 | #include <asm/mach-types.h> |
15 | +#include <asm/system.h> | |
15 | 16 | |
16 | 17 | extern const unsigned char relocate_new_kernel[]; |
17 | 18 | extern const unsigned int relocate_new_kernel_size; |
18 | 19 | |
19 | -extern void setup_mm_for_reboot(void); | |
20 | - | |
21 | 20 | extern unsigned long kexec_start_address; |
22 | 21 | extern unsigned long kexec_indirection_page; |
23 | 22 | extern unsigned long kexec_mach_type; |
... | ... | @@ -111,15 +110,7 @@ |
111 | 110 | |
112 | 111 | if (kexec_reinit) |
113 | 112 | kexec_reinit(); |
114 | - local_irq_disable(); | |
115 | - local_fiq_disable(); | |
116 | - setup_mm_for_reboot(); | |
117 | - flush_cache_all(); | |
118 | - outer_flush_all(); | |
119 | - outer_disable(); | |
120 | - cpu_proc_fin(); | |
121 | - outer_inv_all(); | |
122 | - flush_cache_all(); | |
123 | - cpu_reset(reboot_code_buffer_phys); | |
113 | + | |
114 | + soft_restart(reboot_code_buffer_phys); | |
124 | 115 | } |