[PATCH] ppc64-soft-reset-fixes
Olaf Hering
olh at suse.de
Tue Apr 18 19:56:23 EST 2006
On Mon, Apr 17, Andrew Morton wrote:
> David Wilder <dwilder at us.ibm.com> wrote:
> >
> > - For the crash scenario, when a CPU hangs with interrupts disabled and
> > the other CPUs panic or user invoked kdump boot using sysrq-c. In this
> > case, the hung CPU can not be stopped and causes the kdump boot not
> > successful. This case can be treated as complete system hang and asks
> > the user to activate soft-reset if all secondary CPUs are not stopped.
>
> It breaks `make allmodconfig':
>
> arch/powerpc/kernel/built-in.o(.toc+0x2a00): In function `PPC64_CACHES':
> : undefined reference to `kexec_crash_image'
This change requires another patch.
It also breaks ppc32, this line is included in misc_32.S:
static inline void crash_kexec_secondary(struct pt_regs *regs) { }
Maybe the whole block should be look like that, compile tested on ppc32,
ppc64 and iseries:
---
include/asm-powerpc/kexec.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
Index: linux-2.6.16/include/asm-powerpc/kexec.h
===================================================================
--- linux-2.6.16.orig/include/asm-powerpc/kexec.h
+++ linux-2.6.16/include/asm-powerpc/kexec.h
@@ -31,9 +31,8 @@
#define KEXEC_ARCH KEXEC_ARCH_PPC
#endif
-#ifdef CONFIG_KEXEC
-
#ifndef __ASSEMBLY__
+#ifdef CONFIG_KEXEC
#ifdef __powerpc64__
/*
* This function is responsible for capturing register states if coming
@@ -124,9 +123,9 @@ extern void default_machine_crash_shutdo
extern void machine_kexec_simple(struct kimage *image);
extern void crash_kexec_secondary(struct pt_regs *regs);
-#endif /* ! __ASSEMBLY__ */
#else
static inline void crash_kexec_secondary(struct pt_regs *regs) { }
#endif /* CONFIG_KEXEC */
+#endif /* ! __ASSEMBLY__ */
#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_KEXEC_H */
More information about the Linuxppc-dev
mailing list