[PATCH] powerpc: Fix IBM_ARCH_VEC_NRCORES_OFFSET value

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3732d

2 messages, 2 authors, 2016-06-08 · open the first message on its own page

[PATCH] powerpc: Fix IBM_ARCH_VEC_NRCORES_OFFSET value

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2016-06-07 22:51:17

Commit 7cc851039d643a2ee7df4d18177150f2c3a484f5
"powerpc/pseries: Add POWER8NVL support to ibm,client-architecture-support call"
introduced a regression by adding fields to the beginning of the
ibm_architecture_vec structure without updating IBM_ARCH_VEC_NRCORES_OFFSET.

This causes the kernel to print a warning at boot and to fail to adjust
the number of cores based on the number of threads before doing the CAS
call to firmware.

This is quite a fragile piece of code sadly, we should try to find a way
to avoid that hard coded offset at some point, but for now this fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index ccd2037..6ee4b72 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -719,7 +719,7 @@ unsigned char ibm_architecture_vec[] = {
 	 * must match by the macro below. Update the definition if
 	 * the structure layout changes.
 	 */
-#define IBM_ARCH_VEC_NRCORES_OFFSET	125
+#define IBM_ARCH_VEC_NRCORES_OFFSET	133
 	W(NR_CPUS),			/* number of cores supported */
 	0,
 	0,

Re: [PATCH] powerpc: Fix IBM_ARCH_VEC_NRCORES_OFFSET value

From: Thomas Huth <hidden>
Date: 2016-06-08 11:03:34

On 08.06.2016 00:51, Benjamin Herrenschmidt wrote:
quoted hunk
Commit 7cc851039d643a2ee7df4d18177150f2c3a484f5
"powerpc/pseries: Add POWER8NVL support to ibm,client-architecture-support call"
introduced a regression by adding fields to the beginning of the
ibm_architecture_vec structure without updating IBM_ARCH_VEC_NRCORES_OFFSET.

This causes the kernel to print a warning at boot and to fail to adjust
the number of cores based on the number of threads before doing the CAS
call to firmware.

This is quite a fragile piece of code sadly, we should try to find a way
to avoid that hard coded offset at some point, but for now this fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index ccd2037..6ee4b72 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -719,7 +719,7 @@ unsigned char ibm_architecture_vec[] = {
 	 * must match by the macro below. Update the definition if
 	 * the structure layout changes.
 	 */
-#define IBM_ARCH_VEC_NRCORES_OFFSET	125
+#define IBM_ARCH_VEC_NRCORES_OFFSET	133
 	W(NR_CPUS),			/* number of cores supported */
 	0,
 	0,
Yes, that should be the right offset now!

Please also add "Cc: stable@vger.kernel.org # v4.0+" to the patch since
the commit 7cc851039d64 did have that as well.

And sorry for breaking this!

Reviewed-by: Thomas Huth <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help