[FSL P50x0] Kernel 6.9-rc1 compiling issue

10 messages, 3 authors, 2024-05-09 · open the first message on its own page

[FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christian Zigotzky <hidden>
Date: 2024-03-25 04:52:25

Hi All,

The Compiling of the RC1 of kernel 6.9 doesn’t work anymore for our FSL 
P5020/P5040 boards [1] since the PowerPC updates 6.9-2 [2].

Error messages:

arch/powerpc/platforms/85xx/smp.c: In function 'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu' 
undeclared (first use in this function); did you mean 'crash_save_cpu'?
   401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
       |             ^~~~~~~~~~~~
       |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared 
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244: 
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: arch/powerpc/platforms/85xx] 
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

---

I was able to revert it. After that the compiling works again.

Could you please check the PowerPC updates 6.9-2? [2]

Thanks,
Christian

[1] http://wiki.amiga.org/index.php?title=X5000
[2] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.9-rc1&id=484193fecd2b6349a6fd1554d306aec646ae1a6a

[FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christian Zigotzky <hidden>
Date: 2024-03-25 05:22:28

I have created a patch:
--- a/arch/powerpc/platforms/85xx/smp.c 2024-03-25 06:14:02.201209476 +0100
+++ b/arch/powerpc/platforms/85xx/smp.c 2024-03-25 06:10:04.421425931 +0100
@@ -393,6 +393,7 @@ static void mpc85xx_smp_kexec_cpu_down(i
         int disable_threadbit = 0;
         long start = mftb();
         long now;
+       int crashing_cpu = -1;

         local_irq_disable();
         hard_irq_disable();

---

-- Christian

On 25 March 2024 at 05:48 am, Christian Zigotzky wrote:
Hi All,

Compiling of the RC1 of kernel 6.9 doesn’t work anymore for our FSL 
P5020/P5040 boards [1] since the PowerPC updates 6.9-2 [2].

Error messages:

arch/powerpc/platforms/85xx/smp.c: In function 
'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu' 
undeclared (first use in this function); did you mean 'crash_save_cpu'?
  401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
      |             ^~~~~~~~~~~~
      |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared 
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244: 
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: arch/powerpc/platforms/85xx] 
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

---

I was able to revert it. After that the compiling works again.

Could you please check the PowerPC updates 6.9-2? [2]

Thanks,
Christian

[1] http://wiki.amiga.org/index.php?title=X5000
[2] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.9-rc1&id=484193fecd2b6349a6fd1554d306aec646ae1a6a

Re: [FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christophe Leroy <hidden>
Date: 2024-03-25 06:55:30

Hi,

Le 25/03/2024 à 06:18, Christian Zigotzky a écrit :
quoted hunk
I have created a patch:
--- a/arch/powerpc/platforms/85xx/smp.c 2024-03-25 06:14:02.201209476 +0100
+++ b/arch/powerpc/platforms/85xx/smp.c 2024-03-25 06:10:04.421425931 +0100
@@ -393,6 +393,7 @@ static void mpc85xx_smp_kexec_cpu_down(i
         int disable_threadbit = 0;
         long start = mftb();
         long now;
+       int crashing_cpu = -1;
crashing_cpu is a global variable defined in 
arch/powerpc/kernel/setup-common.c and declared in 
arch/powerpc/include/asm/kexec.h

So you can't redefine crashing_cpu as a local stub.

All you need to do is to add #include <asm/kexec.h> just like 
arch/powerpc/platforms/powernv/smp.c I guess.

Christophe


         local_irq_disable();
         hard_irq_disable();

---

-- Christian


On 25 March 2024 at 05:48 am, Christian Zigotzky wrote:
quoted
Hi All,

Compiling of the RC1 of kernel 6.9 doesn’t work anymore for our FSL 
P5020/P5040 boards [1] since the PowerPC updates 6.9-2 [2].

Error messages:

arch/powerpc/platforms/85xx/smp.c: In function 
'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu' 
undeclared (first use in this function); did you mean 'crash_save_cpu'?
  401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
      |             ^~~~~~~~~~~~
      |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared 
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244: 
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: arch/powerpc/platforms/85xx] 
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

---

I was able to revert it. After that the compiling works again.

Could you please check the PowerPC updates 6.9-2? [2]

Thanks,
Christian

[1] http://wiki.amiga.org/index.php?title=X5000
[2] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.9-rc1&id=484193fecd2b6349a6fd1554d306aec646ae1a6a

[FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christian Zigotzky <hidden>
Date: 2024-03-25 07:17:19

Thanks a lot for the hint.

Could you please add #include <asm/kexec.h> to 
arch/powerpc/platforms/85xx/smp.c for the next PowerPC fixes?

Christian


On 25 March 2024 at 07:43 am, Christophe Leroy wrote:
Hi,

Le 25/03/2024 à 06:18, Christian Zigotzky a écrit :
quoted
I have created a patch:
--- a/arch/powerpc/platforms/85xx/smp.c 2024-03-25 06:14:02.201209476 +0100
+++ b/arch/powerpc/platforms/85xx/smp.c 2024-03-25 06:10:04.421425931 +0100
@@ -393,6 +393,7 @@ static void mpc85xx_smp_kexec_cpu_down(i
          int disable_threadbit = 0;
          long start = mftb();
          long now;
+       int crashing_cpu = -1;
crashing_cpu is a global variable defined in
arch/powerpc/kernel/setup-common.c and declared in
arch/powerpc/include/asm/kexec.h

So you can't redefine crashing_cpu as a local stub.

All you need to do is to add #include <asm/kexec.h> just like
arch/powerpc/platforms/powernv/smp.c I guess.

Christophe


quoted
          local_irq_disable();
          hard_irq_disable();

---

-- Christian


On 25 March 2024 at 05:48 am, Christian Zigotzky wrote:
quoted
Hi All,

Compiling of the RC1 of kernel 6.9 doesn’t work anymore for our FSL
P5020/P5040 boards [1] since the PowerPC updates 6.9-2 [2].

Error messages:

arch/powerpc/platforms/85xx/smp.c: In function
'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu'
undeclared (first use in this function); did you mean 'crash_save_cpu'?
   401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
       |             ^~~~~~~~~~~~
       |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244:
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: arch/powerpc/platforms/85xx]
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

---

I was able to revert it. After that the compiling works again.

Could you please check the PowerPC updates 6.9-2? [2]

Thanks,
Christian

[1] http://wiki.amiga.org/index.php?title=X5000
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.9-rc1&id=484193fecd2b6349a6fd1554d306aec646ae1a6a

[FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christian Zigotzky <hidden>
Date: 2024-03-25 09:16:14

We have configured (kernel config):

# CONFIG_CRASH_DUMP is not set
CONFIG_KEXEC_CORE=y

Link: 
https://github.com/chzigotzky/kernels/blob/main/configs/x5000_defconfig

Compiling error:

arch/powerpc/platforms/85xx/smp.c: In function 'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu' 
undeclared (first use in this function); did you mean 'crash_save_cpu'?
   401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
       |             ^~~~~~~~~~~~
       |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared 
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244: 
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: arch/powerpc/platforms/85xx] 
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

-----------------

PowerPC updates 6.9-2:

#ifdef CONFIG_KEXEC_CORE

-extern int crashing_cpu;

-----------------

+#if defined(CONFIG_CRASH_DUMP)
...
+extern int crashing_cpu;

+#ifdef CONFIG_CRASH_DUMP
  /* This keeps a track of which one is the crashing cpu. */
  int crashing_cpu = -1;
  #endif

-----------------

-- Christian


On 25 March 2024 at 08:15 am, Christian Zigotzky wrote:
Thanks a lot for the hint.

Could you please add #include <asm/kexec.h> to 
arch/powerpc/platforms/85xx/smp.c for the next PowerPC fixes?

Christian


On 25 March 2024 at 07:43 am, Christophe Leroy wrote:
quoted
Hi,

Le 25/03/2024 à 06:18, Christian Zigotzky a écrit :
quoted
I have created a patch:
--- a/arch/powerpc/platforms/85xx/smp.c 2024-03-25 
06:14:02.201209476 +0100
+++ b/arch/powerpc/platforms/85xx/smp.c 2024-03-25 
06:10:04.421425931 +0100
@@ -393,6 +393,7 @@ static void mpc85xx_smp_kexec_cpu_down(i
          int disable_threadbit = 0;
          long start = mftb();
          long now;
+       int crashing_cpu = -1;
crashing_cpu is a global variable defined in
arch/powerpc/kernel/setup-common.c and declared in
arch/powerpc/include/asm/kexec.h

So you can't redefine crashing_cpu as a local stub.

All you need to do is to add #include <asm/kexec.h> just like
arch/powerpc/platforms/powernv/smp.c I guess.

Christophe


quoted
          local_irq_disable();
          hard_irq_disable();

---

-- Christian


On 25 March 2024 at 05:48 am, Christian Zigotzky wrote:
quoted
Hi All,

Compiling of the RC1 of kernel 6.9 doesn’t work anymore for our FSL
P5020/P5040 boards [1] since the PowerPC updates 6.9-2 [2].

Error messages:

arch/powerpc/platforms/85xx/smp.c: In function
'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu'
undeclared (first use in this function); did you mean 
'crash_save_cpu'?
   401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
       |             ^~~~~~~~~~~~
       |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244:
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: arch/powerpc/platforms/85xx]
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] 
Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

---

I was able to revert it. After that the compiling works again.

Could you please check the PowerPC updates 6.9-2? [2]

Thanks,
Christian

[1] http://wiki.amiga.org/index.php?title=X5000
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.9-rc1&id=484193fecd2b6349a6fd1554d306aec646ae1a6a 

[FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christian Zigotzky <hidden>
Date: 2024-03-25 11:03:21

Configured:

CONFIG_VMCORE_INFO=y
# CONFIG_CRASH_DUMP is not set
CONFIG_KEXEC_CORE=y

PowerPC updates 6.9-2:

-#ifdef CONFIG_VMCORE_INFO
+#ifdef CONFIG_CRASH_DUMP
  /* This keeps a track of which one is the crashing cpu. */
  int crashing_cpu = -1;
  #endif

---------

int crashing_cpu = -1; was used before.

I continue to use it with the following temporary patch:
--- a/arch/powerpc/platforms/85xx/smp.c    2024-03-25 06:14:02.201209476 
+0100
+++ b/arch/powerpc/platforms/85xx/smp.c    2024-03-25 06:10:04.421425931 
+0100
@@ -393,6 +393,7 @@ static void mpc85xx_smp_kexec_cpu_down(i
      int disable_threadbit = 0;
      long start = mftb();
      long now;
+    int crashing_cpu = -1;

      local_irq_disable();
      hard_irq_disable();

---------

-- Christian

On 25 March 2024 at 10:14 am, Christian Zigotzky wrote:
We have configured (kernel config):

# CONFIG_CRASH_DUMP is not set
CONFIG_KEXEC_CORE=y

Link: 
https://github.com/chzigotzky/kernels/blob/main/configs/x5000_defconfig

Compiling error:

arch/powerpc/platforms/85xx/smp.c: In function 
'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu' 
undeclared (first use in this function); did you mean 'crash_save_cpu'?
  401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
      |             ^~~~~~~~~~~~
      |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared 
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244: 
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: arch/powerpc/platforms/85xx] 
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

-----------------

PowerPC updates 6.9-2:

#ifdef CONFIG_KEXEC_CORE

-extern int crashing_cpu;

-----------------

+#if defined(CONFIG_CRASH_DUMP)
...
+extern int crashing_cpu;

+#ifdef CONFIG_CRASH_DUMP
 /* This keeps a track of which one is the crashing cpu. */
 int crashing_cpu = -1;
 #endif

-----------------

-- Christian


On 25 March 2024 at 08:15 am, Christian Zigotzky wrote:
quoted
Thanks a lot for the hint.

Could you please add #include <asm/kexec.h> to 
arch/powerpc/platforms/85xx/smp.c for the next PowerPC fixes?

Christian


On 25 March 2024 at 07:43 am, Christophe Leroy wrote:
quoted
Hi,

Le 25/03/2024 à 06:18, Christian Zigotzky a écrit :
quoted
I have created a patch:
--- a/arch/powerpc/platforms/85xx/smp.c 2024-03-25 
06:14:02.201209476 +0100
+++ b/arch/powerpc/platforms/85xx/smp.c 2024-03-25 
06:10:04.421425931 +0100
@@ -393,6 +393,7 @@ static void mpc85xx_smp_kexec_cpu_down(i
          int disable_threadbit = 0;
          long start = mftb();
          long now;
+       int crashing_cpu = -1;
crashing_cpu is a global variable defined in
arch/powerpc/kernel/setup-common.c and declared in
arch/powerpc/include/asm/kexec.h

So you can't redefine crashing_cpu as a local stub.

All you need to do is to add #include <asm/kexec.h> just like
arch/powerpc/platforms/powernv/smp.c I guess.

Christophe


quoted
          local_irq_disable();
          hard_irq_disable();

---

-- Christian


On 25 March 2024 at 05:48 am, Christian Zigotzky wrote:
quoted
Hi All,

Compiling of the RC1 of kernel 6.9 doesn’t work anymore for our FSL
P5020/P5040 boards [1] since the PowerPC updates 6.9-2 [2].

Error messages:

arch/powerpc/platforms/85xx/smp.c: In function
'mpc85xx_smp_kexec_cpu_down':
arch/powerpc/platforms/85xx/smp.c:401:13: error: 'crashing_cpu'
undeclared (first use in this function); did you mean 
'crash_save_cpu'?
   401 |  if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
       |             ^~~~~~~~~~~~
       |             crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:13: note: each undeclared
identifier is reported only once for each function it appears in
make[5]: *** [scripts/Makefile.build:244:
arch/powerpc/platforms/85xx/smp.o] Error 1
make[4]: *** [scripts/Makefile.build:485: 
arch/powerpc/platforms/85xx]
Error 2
make[3]: *** [scripts/Makefile.build:485: arch/powerpc/platforms] 
Error 2
make[2]: *** [scripts/Makefile.build:485: arch/powerpc] Error 2

---

I was able to revert it. After that the compiling works again.

Could you please check the PowerPC updates 6.9-2? [2]

Thanks,
Christian

[1] http://wiki.amiga.org/index.php?title=X5000
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.9-rc1&id=484193fecd2b6349a6fd1554d306aec646ae1a6a 

Re: [FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christophe Leroy <hidden>
Date: 2024-04-04 19:02:15

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 */

  static void smp_85xx_setup_cpu(int cpu_nr)
  {

Re: [FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christian Zigotzky <hidden>
Date: 2024-04-04 21:14:00

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

— Christian

Re: [FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2024-04-08 12:20:55

Christophe Leroy [off-list ref] writes:
quoted hunk
Hi Christian, hi Hari,

Le 04/04/2024 à 19:44, Christian Zigotzky a écrit :
quoted
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 */
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;
 	}

Re: [FSL P50x0] Kernel 6.9-rc1 compiling issue

From: Christian Zigotzky <hidden>
Date: 2024-05-09 05:16:40

Christophe Leroy [off-list ref] 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 [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help