aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/kdump.h6
-rw-r--r--arch/powerpc/kernel/machine_kexec_64.c9
-rw-r--r--arch/powerpc/kernel/misc_64.S9
3 files changed, 5 insertions, 19 deletions
diff --git a/arch/powerpc/include/asm/kdump.h b/arch/powerpc/include/asm/kdump.h
index a503da9d56f3..821ed48c10ed 100644
--- a/arch/powerpc/include/asm/kdump.h
+++ b/arch/powerpc/include/asm/kdump.h
@@ -9,12 +9,6 @@
9 * Reserve to the end of the FWNMI area, see head_64.S */ 9 * Reserve to the end of the FWNMI area, see head_64.S */
10#define KDUMP_RESERVE_LIMIT 0x10000 /* 64K */ 10#define KDUMP_RESERVE_LIMIT 0x10000 /* 64K */
11 11
12/*
13 * Used to differentiate between relocatable kdump kernel and other
14 * kernels
15 */
16#define KDUMP_SIGNATURE 0xfeed1234
17
18#ifdef CONFIG_CRASH_DUMP 12#ifdef CONFIG_CRASH_DUMP
19 13
20#define KDUMP_TRAMPOLINE_START 0x0100 14#define KDUMP_TRAMPOLINE_START 0x0100
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c
index e6efec788c4d..3c4ca046e854 100644
--- a/arch/powerpc/kernel/machine_kexec_64.c
+++ b/arch/powerpc/kernel/machine_kexec_64.c
@@ -255,14 +255,11 @@ static union thread_union kexec_stack
255/* Our assembly helper, in kexec_stub.S */ 255/* Our assembly helper, in kexec_stub.S */
256extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, 256extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start,
257 void *image, void *control, 257 void *image, void *control,
258 void (*clear_all)(void), 258 void (*clear_all)(void)) ATTRIB_NORET;
259 unsigned long kdump_flag) ATTRIB_NORET;
260 259
261/* too late to fail here */ 260/* too late to fail here */
262void default_machine_kexec(struct kimage *image) 261void default_machine_kexec(struct kimage *image)
263{ 262{
264 unsigned long kdump_flag = 0;
265
266 /* prepare control code if any */ 263 /* prepare control code if any */
267 264
268 /* 265 /*
@@ -275,8 +272,6 @@ void default_machine_kexec(struct kimage *image)
275 272
276 if (crashing_cpu == -1) 273 if (crashing_cpu == -1)
277 kexec_prepare_cpus(); 274 kexec_prepare_cpus();
278 else
279 kdump_flag = KDUMP_SIGNATURE;
280 275
281 /* switch to a staticly allocated stack. Based on irq stack code. 276 /* switch to a staticly allocated stack. Based on irq stack code.
282 * XXX: the task struct will likely be invalid once we do the copy! 277 * XXX: the task struct will likely be invalid once we do the copy!
@@ -289,7 +284,7 @@ void default_machine_kexec(struct kimage *image)
289 */ 284 */
290 kexec_sequence(&kexec_stack, image->start, image, 285 kexec_sequence(&kexec_stack, image->start, image,
291 page_address(image->control_code_page), 286 page_address(image->control_code_page),
292 ppc_md.hpte_clear_all, kdump_flag); 287 ppc_md.hpte_clear_all);
293 /* NOTREACHED */ 288 /* NOTREACHED */
294} 289}
295 290
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index a243fd072a77..3053fe5c62f2 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -611,12 +611,10 @@ real_mode: /* assume normal blr return */
611 611
612 612
613/* 613/*
614 * kexec_sequence(newstack, start, image, control, clear_all(), kdump_flag) 614 * kexec_sequence(newstack, start, image, control, clear_all())
615 * 615 *
616 * does the grungy work with stack switching and real mode switches 616 * does the grungy work with stack switching and real mode switches
617 * also does simple calls to other code 617 * also does simple calls to other code
618 *
619 * kdump_flag says whether the next kernel should be a kdump kernel.
620 */ 618 */
621 619
622_GLOBAL(kexec_sequence) 620_GLOBAL(kexec_sequence)
@@ -649,7 +647,7 @@ _GLOBAL(kexec_sequence)
649 mr r29,r5 /* image (virt) */ 647 mr r29,r5 /* image (virt) */
650 mr r28,r6 /* control, unused */ 648 mr r28,r6 /* control, unused */
651 mr r27,r7 /* clear_all() fn desc */ 649 mr r27,r7 /* clear_all() fn desc */
652 mr r26,r8 /* kdump flag */ 650 mr r26,r8 /* spare */
653 lhz r25,PACAHWCPUID(r13) /* get our phys cpu from paca */ 651 lhz r25,PACAHWCPUID(r13) /* get our phys cpu from paca */
654 652
655 /* disable interrupts, we are overwriting kernel data next */ 653 /* disable interrupts, we are overwriting kernel data next */
@@ -711,6 +709,5 @@ _GLOBAL(kexec_sequence)
711 mr r4,r30 # start, aka phys mem offset 709 mr r4,r30 # start, aka phys mem offset
712 mtlr 4 710 mtlr 4
713 li r5,0 711 li r5,0
714 mr r6,r26 /* kdump_flag */ 712 blr /* image->start(physid, image->start, 0); */
715 blr /* image->start(physid, image->start, 0, kdump_flag); */
716#endif /* CONFIG_KEXEC */ 713#endif /* CONFIG_KEXEC */