Commit 3bdc3484e8f2b1b219ad0397d81ce4601fbaf76d

Authored by Will Deacon
1 parent 02b73e2e9c

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 }