[PATCH] powerpc: Detect POWER9 architected mode

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

STALE3481d

4 messages, 3 authors, 2017-02-17 · open the first message on its own page

[PATCH] powerpc: Detect POWER9 architected mode

From: Russell Currey <hidden>
Date: 2017-02-16 23:59:06

Signed-off-by: Russell Currey <redacted>
---
 arch/powerpc/kernel/cputable.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 6a82ef039c50..d23a54b09436 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -386,6 +386,25 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.machine_check_early	= __machine_check_early_realmode_p8,
 		.platform		= "power8",
 	},
+	{	/* 3.00-compliant processor, i.e. Power9 "architected" mode */
+		.pvr_mask		= 0xffffffff,
+		.pvr_value		= 0x0f000005,
+		.cpu_name		= "POWER9 (architected)",
+		.cpu_features		= CPU_FTRS_POWER9,
+		.cpu_user_features	= COMMON_USER_POWER9,
+		.cpu_user_features2	= COMMON_USER2_POWER9,
+		.mmu_features		= MMU_FTRS_POWER9,
+		.icache_bsize		= 128,
+		.dcache_bsize		= 128,
+		.num_pmcs		= 6,
+		.pmc_type		= PPC_PMC_IBM,
+		.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
+		.oprofile_type		= PPC_OPROFILE_INVALID,
+		.cpu_setup		= __setup_cpu_power9,
+		.cpu_restore		= __restore_cpu_power9,
+		.flush_tlb		= __flush_tlb_power9,
+		.platform		= "power9",
+	},
 	{	/* Power7 */
 		.pvr_mask		= 0xffff0000,
 		.pvr_value		= 0x003f0000,
-- 
2.11.1

Re: [PATCH] powerpc: Detect POWER9 architected mode

From: Michael Neuling <hidden>
Date: 2017-02-17 00:57:28

Can you make the comment/title a bit more descriptive...  Have a look at
c674e703cb1028e468527163074810b4a17bf379 where we added the p8.

Signed-off-by: Russell Currey <redacted>
Other than that, the code looks good..

Acked-By: Michael Neuling <redacted>


quoted hunk
---
=C2=A0arch/powerpc/kernel/cputable.c | 19 +++++++++++++++++++
=C2=A01 file changed, 19 insertions(+)
=20
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputabl=
e.c
quoted hunk
index 6a82ef039c50..d23a54b09436 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -386,6 +386,25 @@ static struct cpu_spec __initdata cpu_specs[] =3D {
=C2=A0		.machine_check_early	=3D
__machine_check_early_realmode_p8,
=C2=A0		.platform		=3D "power8",
=C2=A0	},
+	{	/* 3.00-compliant processor, i.e. Power9 "architected" mode
*/
+		.pvr_mask		=3D 0xffffffff,
+		.pvr_value		=3D 0x0f000005,
+		.cpu_name		=3D "POWER9 (architected)",
+		.cpu_features		=3D CPU_FTRS_POWER9,
+		.cpu_user_features	=3D COMMON_USER_POWER9,
+		.cpu_user_features2	=3D COMMON_USER2_POWER9,
+		.mmu_features		=3D MMU_FTRS_POWER9,
+		.icache_bsize		=3D 128,
+		.dcache_bsize		=3D 128,
+		.num_pmcs		=3D 6,
+		.pmc_type		=3D PPC_PMC_IBM,
+		.oprofile_cpu_type	=3D "ppc64/ibm-compat-v1",
+		.oprofile_type		=3D PPC_OPROFILE_INVALID,
+		.cpu_setup		=3D __setup_cpu_power9,
+		.cpu_restore		=3D __restore_cpu_power9,
+		.flush_tlb		=3D __flush_tlb_power9,
+		.platform		=3D "power9",
+	},
=C2=A0	{	/* Power7 */
=C2=A0		.pvr_mask		=3D 0xffff0000,
=C2=A0		.pvr_value		=3D 0x003f0000,

Re: [PATCH] powerpc: Detect POWER9 architected mode

From: Russell Currey <hidden>
Date: 2017-02-17 01:06:08

On Fri, 2017-02-17 at 11:57 +1100, Michael Neuling wrote:
Can you make the comment/title a bit more descriptive...  Have a look at
c674e703cb1028e468527163074810b4a17bf379 where we added the p8.
I had a look at that when I was making the commit but I didn't think it really
added anything valuable (though I suppose mentioning cputable in the commit
message might add clarity).  I guess

    A PVR of 0x0F000005 means we are arch v3.00 compliant (i.e. POWER9)

to steal from yours...
quoted
Signed-off-by: Russell Currey <redacted>
Other than that, the code looks good..

Acked-By: Michael Neuling <redacted>


quoted
---
 arch/powerpc/kernel/cputable.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 6a82ef039c50..d23a54b09436 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -386,6 +386,25 @@ static struct cpu_spec __initdata cpu_specs[] = {
 		.machine_check_early	=
__machine_check_early_realmode_p8,
 		.platform		= "power8",
 	},
+	{	/* 3.00-compliant processor, i.e. Power9 "architected"
mode
*/
+		.pvr_mask		= 0xffffffff,
+		.pvr_value		= 0x0f000005,
+		.cpu_name		= "POWER9 (architected)",
+		.cpu_features		= CPU_FTRS_POWER9,
+		.cpu_user_features	= COMMON_USER_POWER9,
+		.cpu_user_features2	= COMMON_USER2_POWER9,
+		.mmu_features		= MMU_FTRS_POWER9,
+		.icache_bsize		= 128,
+		.dcache_bsize		= 128,
+		.num_pmcs		= 6,
+		.pmc_type		= PPC_PMC_IBM,
+		.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
+		.oprofile_type		= PPC_OPROFILE_INVALID,
+		.cpu_setup		= __setup_cpu_power9,
+		.cpu_restore		= __restore_cpu_power9,
+		.flush_tlb		= __flush_tlb_power9,
+		.platform		= "power9",
+	},
 	{	/* Power7 */
 		.pvr_mask		= 0xffff0000,
 		.pvr_value		= 0x003f0000,

Re: [PATCH] powerpc: Detect POWER9 architected mode

From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Date: 2017-02-17 02:45:00

On Fri, 2017-02-17 at 10:59 +1100, Russell Currey wrote:
Signed-off-by: Russell Currey <redacted>
Tested-in-QEMU-by: Suraj Jitindar Singh [off-list ref]
quoted hunk
---
 arch/powerpc/kernel/cputable.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
diff --git a/arch/powerpc/kernel/cputable.c
b/arch/powerpc/kernel/cputable.c
index 6a82ef039c50..d23a54b09436 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -386,6 +386,25 @@ static struct cpu_spec __initdata cpu_specs[] =
{
 		.machine_check_early	=
__machine_check_early_realmode_p8,
 		.platform		= "power8",
 	},
+	{	/* 3.00-compliant processor, i.e. Power9
"architected" mode */
+		.pvr_mask		= 0xffffffff,
+		.pvr_value		= 0x0f000005,
+		.cpu_name		= "POWER9 (architected)",
+		.cpu_features		= CPU_FTRS_POWER9,
+		.cpu_user_features	= COMMON_USER_POWER9,
+		.cpu_user_features2	= COMMON_USER2_POWER9,
+		.mmu_features		= MMU_FTRS_POWER9,
+		.icache_bsize		= 128,
+		.dcache_bsize		= 128,
+		.num_pmcs		= 6,
+		.pmc_type		= PPC_PMC_IBM,
+		.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
+		.oprofile_type		=
PPC_OPROFILE_INVALID,
+		.cpu_setup		= __setup_cpu_power9,
+		.cpu_restore		= __restore_cpu_power9,
+		.flush_tlb		= __flush_tlb_power9,
+		.platform		= "power9",
+	},
 	{	/* Power7 */
 		.pvr_mask		= 0xffff0000,
 		.pvr_value		= 0x003f0000,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help