[FSL P50x0] Kernel 6.9-rc1 compiling issue

Christian Zigotzky chzigotzky at xenosoft.de
Thu May 9 15:15:30 AEST 2024


Christophe Leroy <christophe.leroy at csgroup.eu> writes:
Hi Christian, hi Hari,

Le 04/04/2024 à 19:44, Christian Zigotzky a écrit :
Shall we use CONFIG_CRASH_DUMP to get int crashing_cpu = -1;?

Further information:
https://lists.ozlabs.org/pipermail/linuxppc-dev/2024-March/269985.html
<https://lists.ozlabs.org/pipermail/linuxppc-dev/2024-March/269985.html>

Looking at problematic commit 5c4233cc0920 ("powerpc/kdump: Split
KEXEC_CORE and CRASH_DUMP dependency"), my feeling is that the change
should be as follows.

Hari, can you confirm ?

diff --git a/arch/powerpc/platforms/85xx/smp.c
b/arch/powerpc/platforms/85xx/smp.c
index 40aa58206888..3209fc92ac19 100644
--- a/arch/powerpc/platforms/85xx/smp.c
+++ b/arch/powerpc/platforms/85xx/smp.c
@@ -362,7 +362,7 @@ struct smp_ops_t smp_85xx_ops = {
 #endif
 };

-#ifdef CONFIG_KEXEC_CORE
+#ifdef CONFIG_CRASH_DUMP
 #ifdef CONFIG_PPC32
 atomic_t kexec_down_cpus = ATOMIC_INIT(0);

@@ -465,7 +465,7 @@ static void mpc85xx_smp_machine_kexec(struct kimage
*image)

     default_machine_kexec(image);
 }
-#endif /* CONFIG_KEXEC_CORE */
+#endif /* CONFIG_CRASH_DUMP */

- - - -

On 8. Apr 2024, at 14:20, Michael Ellerman <mpe at ellerman.id.au> wrote:

That doesn't look right to me.

I think it needs something like below.

cheers

diff --git a/arch/powerpc/platforms/85xx/smp.c b/arch/powerpc/platforms/85xx/smp.c
index 40aa58206888..276060c993a0 100644
--- a/arch/powerpc/platforms/85xx/smp.c
+++ b/arch/powerpc/platforms/85xx/smp.c
@@ -398,6 +398,7 @@ static void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary)
   hard_irq_disable();
   mpic_teardown_this_cpu(secondary);

+#ifdef CONFIG_CRASH_DUMP
   if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
       /*
        * We enter the crash kernel on whatever cpu crashed,
@@ -406,9 +407,11 @@ static void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary)
        */
       disable_threadbit = 1;
       disable_cpu = cpu_first_thread_sibling(cpu);
-    } else if (sibling != crashing_cpu &&
-           cpu_thread_in_core(cpu) == 0 &&
-           cpu_thread_in_core(sibling) != 0) {
+    } else if (sibling == crashing_cpu)
+        return;
+#endif
+    if (cpu_thread_in_core(cpu) == 0 &&
+        cpu_thread_in_core(sibling) != 0) {
       disable_threadbit = 2;
       disable_cpu = sibling;
   }

- - - -

Any news? I still need a patch for compiling the kernel.

- - Christian


More information about the Linuxppc-dev mailing list