Thread (8 messages) flat view 8 messages, 4 authors, 2017-02-19

Re: [PATCH v2] powerpc: Add POWER9 architected mode to cputable

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-02-18 07:54:52
Subsystem: linux for powerpc (32-bit and 64-bit), the rest · Maintainers: Madhavan Srinivasan, Linus Torvalds

Russell Currey [off-list ref] writes:
On Fri, 2017-02-17 at 21:26 +1100, Michael Ellerman wrote:
quoted
Russell Currey [off-list ref] writes:
quoted
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cput=
able.c
quoted
quoted
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=
 {
quoted
quoted
=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,
=20
It's important *not* to set num_pmcs for the architected PVRs.
...
Oh and also, do you want me to respin or are you happy to drop it on your=
 end?

I fixed it up:

commit 6ae3f8ad2017079292cb49c8959b527bcbcbefed
Author:     Russell Currey [off-list ref]
AuthorDate: Fri Feb 17 13:01:35 2017 +1100
Commit:     Michael Ellerman [off-list ref]
CommitDate: Fri Feb 17 21:48:56 2017 +1100

    powerpc: Add POWER9 architected mode to cputable
=20=20=20=20
    PVR value of 0x0F000005 means we are arch v3.00 compliant (i.e. POWER9).
=20=20=20=20
    Acked-by: Michael Neuling [off-list ref]
    Signed-off-by: Russell Currey [off-list ref]
    [mpe: Don't set num_pmcs, so we keep the PMU fields from the raw entry]
    Signed-off-by: Michael Ellerman [off-list ref]
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 6a82ef039c50..bb7a1890aeb7 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -386,6 +386,23 @@ static struct cpu_spec __initdata cpu_specs[] =3D {
 		.machine_check_early	=3D __machine_check_early_realmode_p8,
 		.platform		=3D "power8",
 	},
+	{	/* 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,
+		.oprofile_type		=3D PPC_OPROFILE_INVALID,
+		.oprofile_cpu_type	=3D "ppc64/ibm-compat-v1",
+		.cpu_setup		=3D __setup_cpu_power9,
+		.cpu_restore		=3D __restore_cpu_power9,
+		.flush_tlb		=3D __flush_tlb_power9,
+		.platform		=3D "power9",
+	},
 	{	/* Power7 */
 		.pvr_mask		=3D 0xffff0000,
 		.pvr_value		=3D 0x003f0000,

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help