Russell Currey <rus...@russell.cc> writes: > On Fri, 2017-02-17 at 21:26 +1100, Michael Ellerman wrote: >> Russell Currey <rus...@russell.cc> writes: >> > 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, >> >> 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 <rus...@russell.cc> AuthorDate: Fri Feb 17 13:01:35 2017 +1100 Commit: Michael Ellerman <m...@ellerman.id.au> CommitDate: Fri Feb 17 21:48:56 2017 +1100 powerpc: Add POWER9 architected mode to cputable PVR value of 0x0F000005 means we are arch v3.00 compliant (i.e. POWER9). Acked-by: Michael Neuling <mi...@neuling.org> Signed-off-by: Russell Currey <rus...@russell.cc> [mpe: Don't set num_pmcs, so we keep the PMU fields from the raw entry] Signed-off-by: Michael Ellerman <m...@ellerman.id.au> 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[] = { .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, + .oprofile_type = PPC_OPROFILE_INVALID, + .oprofile_cpu_type = "ppc64/ibm-compat-v1", + .cpu_setup = __setup_cpu_power9, + .cpu_restore = __restore_cpu_power9, + .flush_tlb = __flush_tlb_power9, + .platform = "power9", + }, { /* Power7 */ .pvr_mask = 0xffff0000, .pvr_value = 0x003f0000, cheers