| From 2c2a63e301fd19ccae673e79de59b30a232ff7f9 Mon Sep 17 00:00:00 2001 |
| From: Michael Ellerman <mpe@ellerman.id.au> |
| Date: Wed, 8 Jun 2016 10:01:23 +1000 |
| Subject: powerpc/pseries: Fix IBM_ARCH_VEC_NRCORES_OFFSET since POWER8NVL was added |
| |
| From: Michael Ellerman <mpe@ellerman.id.au> |
| |
| commit 2c2a63e301fd19ccae673e79de59b30a232ff7f9 upstream. |
| |
| The recent commit 7cc851039d64 ("powerpc/pseries: Add POWER8NVL support |
| to ibm,client-architecture-support call") added a new PVR mask & value |
| to the start of the ibm_architecture_vec[] array. |
| |
| However it missed the fact that further down in the array, we hard code |
| the offset of one of the fields, and then at boot use that value to |
| patch the value in the array. This means every update to the array must |
| also update the #define, ugh. |
| |
| This means that on pseries machines we will misreport to firmware the |
| number of cores we support, by a factor of threads_per_core. |
| |
| Fix it for now by updating the #define. |
| |
| Fixes: 7cc851039d64 ("powerpc/pseries: Add POWER8NVL support to ibm,client-architecture-support call") |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/powerpc/kernel/prom_init.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/powerpc/kernel/prom_init.c |
| +++ b/arch/powerpc/kernel/prom_init.c |
| @@ -718,7 +718,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, |