On 16/06/16 10:09, Balbir Singh wrote: > Yes, my bad.. I'll respin. I thought I had it, but I clearly did not >
V2: Update the vector length for OV1 after adding 3.0 support The PVR list has been updated and IBM_ARCH_VEC_NRCORES_OFFSET. This provides the cpu version supported to the hypervisor Signed-off-by: Balbir Singh <bsinghar...@gmail.com> --- arch/powerpc/include/asm/prom.h | 5 ++++- arch/powerpc/kernel/prom_init.c | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/include/asm/prom.h b/arch/powerpc/include/asm/prom.h index 7f436ba..da0c98e 100644 --- a/arch/powerpc/include/asm/prom.h +++ b/arch/powerpc/include/asm/prom.h @@ -111,7 +111,7 @@ struct of_drconf_cell { #define OV_IGNORE 0x80 /* ignore this vector */ #define OV_CESSATION_POLICY 0x40 /* halt if unsupported option present*/ -/* Option vector 1: processor architectures supported */ +/* Option vector 1: byte 2, processor architectures supported */ #define OV1_PPC_2_00 0x80 /* set if we support PowerPC 2.00 */ #define OV1_PPC_2_01 0x40 /* set if we support PowerPC 2.01 */ #define OV1_PPC_2_02 0x20 /* set if we support PowerPC 2.02 */ @@ -121,6 +121,9 @@ struct of_drconf_cell { #define OV1_PPC_2_06 0x02 /* set if we support PowerPC 2.06 */ #define OV1_PPC_2_07 0x01 /* set if we support PowerPC 2.07 */ +/* Option vector 1: byte 3, processor architectures supported */ +#define OV1_PPC_3_00 0x80 /* set if we support PowerPC 3.00 */ + /* Option vector 2: Open Firmware options supported */ #define OV2_REAL_MODE 0x20 /* set if we want OF in real mode */ diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 6ee4b72..900c6e1 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c @@ -658,6 +658,8 @@ unsigned char ibm_architecture_vec[] = { W(0xffff0000), W(0x004b0000), /* POWER8E */ W(0xffff0000), W(0x004c0000), /* POWER8NVL */ W(0xffff0000), W(0x004d0000), /* POWER8 */ + W(0xffff0000), W(0x004e0000), /* POWER9 */ + W(0xffffffff), W(0x0f000005), /* all 3.0-compliant */ W(0xffffffff), W(0x0f000004), /* all 2.07-compliant */ W(0xffffffff), W(0x0f000003), /* all 2.06-compliant */ W(0xffffffff), W(0x0f000002), /* all 2.05-compliant */ @@ -665,10 +667,11 @@ unsigned char ibm_architecture_vec[] = { NUM_VECTORS(6), /* 6 option vectors */ /* option vector 1: processor architectures supported */ - VECTOR_LENGTH(2), /* length */ + VECTOR_LENGTH(3), /* length */ 0, /* don't ignore, don't halt */ OV1_PPC_2_00 | OV1_PPC_2_01 | OV1_PPC_2_02 | OV1_PPC_2_03 | OV1_PPC_2_04 | OV1_PPC_2_05 | OV1_PPC_2_06 | OV1_PPC_2_07, + OV1_PPC_3_00, /* option vector 2: Open Firmware options supported */ VECTOR_LENGTH(33), /* length */ @@ -719,7 +722,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 133 +#define IBM_ARCH_VEC_NRCORES_OFFSET 150 W(NR_CPUS), /* number of cores supported */ 0, 0, -- 2.5.5 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev