All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Add support for power9 in ibm_architecture_vec
@ 2016-06-15  8:17 Balbir Singh
  2016-06-15 11:17 ` Aneesh Kumar K.V
  0 siblings, 1 reply; 8+ messages in thread
From: Balbir Singh @ 2016-06-15  8:17 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Michael Ellerman, Aneesh Kumar K.V, Michael Neuling



The PVR list has been updated and IBM_ARCH_VEC_NRCORES_OFFSET.

Signed-off-by: Balbir Singh <bsingharora@gmail.com>
---
 arch/powerpc/include/asm/prom.h | 5 ++++-
 arch/powerpc/kernel/prom_init.c | 5 ++++-
 2 files changed, 8 insertions(+), 2 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 ccd2037..51f63e8 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 */
@@ -669,6 +671,7 @@ unsigned char ibm_architecture_vec[] = {
 	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	125
+#define IBM_ARCH_VEC_NRCORES_OFFSET	150
 	W(NR_CPUS),			/* number of cores supported */
 	0,
 	0,
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] Add support for power9 in ibm_architecture_vec
  2016-06-15  8:17 [PATCH] Add support for power9 in ibm_architecture_vec Balbir Singh
@ 2016-06-15 11:17 ` Aneesh Kumar K.V
  2016-06-15 12:08   ` Balbir Singh
  0 siblings, 1 reply; 8+ messages in thread
From: Aneesh Kumar K.V @ 2016-06-15 11:17 UTC (permalink / raw)
  To: Balbir Singh, linuxppc-dev; +Cc: Michael Ellerman, Michael Neuling

Balbir Singh <bsingharora@gmail.com> writes:

> The PVR list has been updated and IBM_ARCH_VEC_NRCORES_OFFSET.
>
> Signed-off-by: Balbir Singh <bsingharora@gmail.com>
> ---
>  arch/powerpc/include/asm/prom.h | 5 ++++-
>  arch/powerpc/kernel/prom_init.c | 5 ++++-
>  2 files changed, 8 insertions(+), 2 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 ccd2037..51f63e8 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 */
> @@ -669,6 +671,7 @@ unsigned char ibm_architecture_vec[] = {
>  	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	125
> +#define IBM_ARCH_VEC_NRCORES_OFFSET	150

Shouldn't this be 125 + 16 ?

>  	W(NR_CPUS),			/* number of cores supported */
>  	0,
>  	0,
> -- 
> 2.5.5

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] Add support for power9 in ibm_architecture_vec
  2016-06-15 11:17 ` Aneesh Kumar K.V
@ 2016-06-15 12:08   ` Balbir Singh
  2016-06-15 15:58     ` Aneesh Kumar K.V
  0 siblings, 1 reply; 8+ messages in thread
From: Balbir Singh @ 2016-06-15 12:08 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: linuxppc-dev, Michael Ellerman, Michael Neuling

On Wed, Jun 15, 2016 at 9:17 PM, Aneesh Kumar K.V
<aneesh.kumar@linux.vnet.ibm.com> wrote:
> Shouldn't this be 125 + 16 ?

Actually the previous patch broke it and Ben fixed it, it should have
been 133 after adding POWER8NVL. My patch adds 16+1 (1 for the
OV1_PPC_3_00)

133+17 = 150

Michael, can you please check. I did a quick check with  gdb

Balbir Singh

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] Add support for power9 in ibm_architecture_vec
  2016-06-15 12:08   ` Balbir Singh
@ 2016-06-15 15:58     ` Aneesh Kumar K.V
  2016-06-16  0:09       ` Balbir Singh
  0 siblings, 1 reply; 8+ messages in thread
From: Aneesh Kumar K.V @ 2016-06-15 15:58 UTC (permalink / raw)
  To: Balbir Singh; +Cc: linuxppc-dev, Michael Ellerman, Michael Neuling

Balbir Singh <bsingharora@gmail.com> writes:

> On Wed, Jun 15, 2016 at 9:17 PM, Aneesh Kumar K.V
> <aneesh.kumar@linux.vnet.ibm.com> wrote:
>> Shouldn't this be 125 + 16 ?
>
> Actually the previous patch broke it and Ben fixed it, it should have
> been 133 after adding POWER8NVL. My patch adds 16+1 (1 for the
> OV1_PPC_3_00)
>
> 133+17 = 150
>
> Michael, can you please check. I did a quick check with  gdb
>


I missed that  OV1_PPC_3_00 is byte 3 of option vection 1. I guess you
also need to update VECTOR_LENGHT above the option vector 1 to 3.
ie, it should be VECTOR_LENGTH(3) ?

-aneesh

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] Add support for power9 in ibm_architecture_vec
  2016-06-15 15:58     ` Aneesh Kumar K.V
@ 2016-06-16  0:09       ` Balbir Singh
  2016-06-16  4:54         ` [PATCH][V2] " Balbir Singh
  0 siblings, 1 reply; 8+ messages in thread
From: Balbir Singh @ 2016-06-16  0:09 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: linuxppc-dev, Michael Ellerman, Michael Neuling



On 16/06/16 01:58, Aneesh Kumar K.V wrote:
> Balbir Singh <bsingharora@gmail.com> writes:
> 
>> On Wed, Jun 15, 2016 at 9:17 PM, Aneesh Kumar K.V
>> <aneesh.kumar@linux.vnet.ibm.com> wrote:
>>> Shouldn't this be 125 + 16 ?
>>
>> Actually the previous patch broke it and Ben fixed it, it should have
>> been 133 after adding POWER8NVL. My patch adds 16+1 (1 for the
>> OV1_PPC_3_00)
>>
>> 133+17 = 150
>>
>> Michael, can you please check. I did a quick check with  gdb
>>
> 
> 
> I missed that  OV1_PPC_3_00 is byte 3 of option vection 1. I guess you
> also need to update VECTOR_LENGHT above the option vector 1 to 3.
> ie, it should be VECTOR_LENGTH(3) ?
Yes, my bad.. I'll respin. I thought I had it, but I clearly did not

Balbir

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH][V2] Add support for power9 in ibm_architecture_vec
  2016-06-16  0:09       ` Balbir Singh
@ 2016-06-16  4:54         ` Balbir Singh
  2016-06-16  5:31           ` Michael Ellerman
  0 siblings, 1 reply; 8+ messages in thread
From: Balbir Singh @ 2016-06-16  4:54 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: linuxppc-dev, Michael Ellerman, Michael Neuling



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 <bsingharora@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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH][V2] Add support for power9 in ibm_architecture_vec
  2016-06-16  4:54         ` [PATCH][V2] " Balbir Singh
@ 2016-06-16  5:31           ` Michael Ellerman
  2016-06-16  5:47             ` Balbir Singh
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Ellerman @ 2016-06-16  5:31 UTC (permalink / raw)
  To: Balbir Singh, Aneesh Kumar K.V; +Cc: linuxppc-dev, Michael Neuling

> Subject: [PATCH][V2] Add support for power9 in ibm_architecture_vec

Can you use "[PATCH v2]", my scripts don't grok your format.

On Thu, 2016-06-16 at 14:54 +1000, Balbir Singh wrote:
> 
> 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
> > 

Please don't send patches in replies like this, I have to manually clean the
above up before committing.
 
> V2: Update the vector length for OV1 after adding 3.0 support

This should go below the "---" line so that it's stripped from the history.

> The PVR list has been updated and IBM_ARCH_VEC_NRCORES_OFFSET.
> This provides the cpu version supported to the hypervisor

Can you give me more explanation of the practical effects of the patch. eg. This
allows guests kernels to signal to the hypervisor that they support ISA 3.0
features.

cheers

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH][V2] Add support for power9 in ibm_architecture_vec
  2016-06-16  5:31           ` Michael Ellerman
@ 2016-06-16  5:47             ` Balbir Singh
  0 siblings, 0 replies; 8+ messages in thread
From: Balbir Singh @ 2016-06-16  5:47 UTC (permalink / raw)
  To: Michael Ellerman, Aneesh Kumar K.V; +Cc: linuxppc-dev, Michael Neuling



On 16/06/16 15:31, Michael Ellerman wrote:
>> Subject: [PATCH][V2] Add support for power9 in ibm_architecture_vec
> 
> Can you use "[PATCH v2]", my scripts don't grok your format.
> 
> On Thu, 2016-06-16 at 14:54 +1000, Balbir Singh wrote:
>>
>> 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
>>>
> 
> Please don't send patches in replies like this, I have to manually clean the
> above up before committing.

Yep.. I started this recently just to keep the thread rolling, but point
noted. Thanks!

>  
>> V2: Update the vector length for OV1 after adding 3.0 support
> 
> This should go below the "---" line so that it's stripped from the history.
> 

Done!

>> The PVR list has been updated and IBM_ARCH_VEC_NRCORES_OFFSET.
>> This provides the cpu version supported to the hypervisor
> 
> Can you give me more explanation of the practical effects of the patch. eg. This
> allows guests kernels to signal to the hypervisor that they support ISA 3.0
> features.
> 

Will do

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-06-16  5:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-15  8:17 [PATCH] Add support for power9 in ibm_architecture_vec Balbir Singh
2016-06-15 11:17 ` Aneesh Kumar K.V
2016-06-15 12:08   ` Balbir Singh
2016-06-15 15:58     ` Aneesh Kumar K.V
2016-06-16  0:09       ` Balbir Singh
2016-06-16  4:54         ` [PATCH][V2] " Balbir Singh
2016-06-16  5:31           ` Michael Ellerman
2016-06-16  5:47             ` Balbir Singh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.