diff mbox series

powerpc: Add POWER10 raw mode cputable entry

Message ID 20200814035903.3179314-1-maddy@linux.ibm.com (mailing list archive)
State Superseded
Headers show
Series powerpc: Add POWER10 raw mode cputable entry | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch powerpc/merge (f04b169e953c4db1a3a3c1d23eea09c726f01ee5)
snowpatch_ozlabs/build-ppc64le warning Upstream build failed, couldn't test patch
snowpatch_ozlabs/build-ppc64be warning Upstream build failed, couldn't test patch
snowpatch_ozlabs/build-ppc64e warning Upstream build failed, couldn't test patch
snowpatch_ozlabs/build-pmac32 warning Upstream build failed, couldn't test patch
snowpatch_ozlabs/checkpatch success total: 0 errors, 0 warnings, 0 checks, 25 lines checked
snowpatch_ozlabs/needsstable success Patch has no Fixes tags

Commit Message

Madhavan Srinivasan Aug. 14, 2020, 3:59 a.m. UTC
Add a raw mode cputable entry for POWER10. Copies most of the fields
from commit a3ea40d5c736 ("powerpc: Add POWER10 architected mode")
except for oprofile_cpu_type, machine_check_early, pvr_mask and pvr_mask
filed. On bare metal systems we use DT CPU features, which doesn't need a
cputable entry. But in VMs we still rely on the raw cputable entry to
set the correct values for the PMU related fields.

Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
---
 arch/powerpc/kernel/cputable.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

kernel test robot Aug. 14, 2020, 6:27 a.m. UTC | #1
Hi Madhavan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.8 next-20200814]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Madhavan-Srinivasan/powerpc-Add-POWER10-raw-mode-cputable-entry/20200814-120142
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> arch/powerpc/kernel/cputable.c:561:26: error: '__machine_check_early_realmode_p10' undeclared here (not in a function); did you mean '__machine_check_early_realmode_p9'?
     561 |   .machine_check_early = __machine_check_early_realmode_p10,
         |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                          __machine_check_early_realmode_p9

vim +561 arch/powerpc/kernel/cputable.c

   136	
   137	static struct cpu_spec __initdata cpu_specs[] = {
   138	#ifdef CONFIG_PPC_BOOK3S_64
   139		{	/* PPC970 */
   140			.pvr_mask		= 0xffff0000,
   141			.pvr_value		= 0x00390000,
   142			.cpu_name		= "PPC970",
   143			.cpu_features		= CPU_FTRS_PPC970,
   144			.cpu_user_features	= COMMON_USER_POWER4 |
   145				PPC_FEATURE_HAS_ALTIVEC_COMP,
   146			.mmu_features		= MMU_FTRS_PPC970,
   147			.icache_bsize		= 128,
   148			.dcache_bsize		= 128,
   149			.num_pmcs		= 8,
   150			.pmc_type		= PPC_PMC_IBM,
   151			.cpu_setup		= __setup_cpu_ppc970,
   152			.cpu_restore		= __restore_cpu_ppc970,
   153			.oprofile_cpu_type	= "ppc64/970",
   154			.oprofile_type		= PPC_OPROFILE_POWER4,
   155			.platform		= "ppc970",
   156		},
   157		{	/* PPC970FX */
   158			.pvr_mask		= 0xffff0000,
   159			.pvr_value		= 0x003c0000,
   160			.cpu_name		= "PPC970FX",
   161			.cpu_features		= CPU_FTRS_PPC970,
   162			.cpu_user_features	= COMMON_USER_POWER4 |
   163				PPC_FEATURE_HAS_ALTIVEC_COMP,
   164			.mmu_features		= MMU_FTRS_PPC970,
   165			.icache_bsize		= 128,
   166			.dcache_bsize		= 128,
   167			.num_pmcs		= 8,
   168			.pmc_type		= PPC_PMC_IBM,
   169			.cpu_setup		= __setup_cpu_ppc970,
   170			.cpu_restore		= __restore_cpu_ppc970,
   171			.oprofile_cpu_type	= "ppc64/970",
   172			.oprofile_type		= PPC_OPROFILE_POWER4,
   173			.platform		= "ppc970",
   174		},
   175		{	/* PPC970MP DD1.0 - no DEEPNAP, use regular 970 init */
   176			.pvr_mask		= 0xffffffff,
   177			.pvr_value		= 0x00440100,
   178			.cpu_name		= "PPC970MP",
   179			.cpu_features		= CPU_FTRS_PPC970,
   180			.cpu_user_features	= COMMON_USER_POWER4 |
   181				PPC_FEATURE_HAS_ALTIVEC_COMP,
   182			.mmu_features		= MMU_FTRS_PPC970,
   183			.icache_bsize		= 128,
   184			.dcache_bsize		= 128,
   185			.num_pmcs		= 8,
   186			.pmc_type		= PPC_PMC_IBM,
   187			.cpu_setup		= __setup_cpu_ppc970,
   188			.cpu_restore		= __restore_cpu_ppc970,
   189			.oprofile_cpu_type	= "ppc64/970MP",
   190			.oprofile_type		= PPC_OPROFILE_POWER4,
   191			.platform		= "ppc970",
   192		},
   193		{	/* PPC970MP */
   194			.pvr_mask		= 0xffff0000,
   195			.pvr_value		= 0x00440000,
   196			.cpu_name		= "PPC970MP",
   197			.cpu_features		= CPU_FTRS_PPC970,
   198			.cpu_user_features	= COMMON_USER_POWER4 |
   199				PPC_FEATURE_HAS_ALTIVEC_COMP,
   200			.mmu_features		= MMU_FTRS_PPC970,
   201			.icache_bsize		= 128,
   202			.dcache_bsize		= 128,
   203			.num_pmcs		= 8,
   204			.pmc_type		= PPC_PMC_IBM,
   205			.cpu_setup		= __setup_cpu_ppc970MP,
   206			.cpu_restore		= __restore_cpu_ppc970,
   207			.oprofile_cpu_type	= "ppc64/970MP",
   208			.oprofile_type		= PPC_OPROFILE_POWER4,
   209			.platform		= "ppc970",
   210		},
   211		{	/* PPC970GX */
   212			.pvr_mask		= 0xffff0000,
   213			.pvr_value		= 0x00450000,
   214			.cpu_name		= "PPC970GX",
   215			.cpu_features		= CPU_FTRS_PPC970,
   216			.cpu_user_features	= COMMON_USER_POWER4 |
   217				PPC_FEATURE_HAS_ALTIVEC_COMP,
   218			.mmu_features		= MMU_FTRS_PPC970,
   219			.icache_bsize		= 128,
   220			.dcache_bsize		= 128,
   221			.num_pmcs		= 8,
   222			.pmc_type		= PPC_PMC_IBM,
   223			.cpu_setup		= __setup_cpu_ppc970,
   224			.oprofile_cpu_type	= "ppc64/970",
   225			.oprofile_type		= PPC_OPROFILE_POWER4,
   226			.platform		= "ppc970",
   227		},
   228		{	/* Power5 GR */
   229			.pvr_mask		= 0xffff0000,
   230			.pvr_value		= 0x003a0000,
   231			.cpu_name		= "POWER5 (gr)",
   232			.cpu_features		= CPU_FTRS_POWER5,
   233			.cpu_user_features	= COMMON_USER_POWER5,
   234			.mmu_features		= MMU_FTRS_POWER5,
   235			.icache_bsize		= 128,
   236			.dcache_bsize		= 128,
   237			.num_pmcs		= 6,
   238			.pmc_type		= PPC_PMC_IBM,
   239			.oprofile_cpu_type	= "ppc64/power5",
   240			.oprofile_type		= PPC_OPROFILE_POWER4,
   241			/* SIHV / SIPR bits are implemented on POWER4+ (GQ)
   242			 * and above but only works on POWER5 and above
   243			 */
   244			.oprofile_mmcra_sihv	= MMCRA_SIHV,
   245			.oprofile_mmcra_sipr	= MMCRA_SIPR,
   246			.platform		= "power5",
   247		},
   248		{	/* Power5++ */
   249			.pvr_mask		= 0xffffff00,
   250			.pvr_value		= 0x003b0300,
   251			.cpu_name		= "POWER5+ (gs)",
   252			.cpu_features		= CPU_FTRS_POWER5,
   253			.cpu_user_features	= COMMON_USER_POWER5_PLUS,
   254			.mmu_features		= MMU_FTRS_POWER5,
   255			.icache_bsize		= 128,
   256			.dcache_bsize		= 128,
   257			.num_pmcs		= 6,
   258			.oprofile_cpu_type	= "ppc64/power5++",
   259			.oprofile_type		= PPC_OPROFILE_POWER4,
   260			.oprofile_mmcra_sihv	= MMCRA_SIHV,
   261			.oprofile_mmcra_sipr	= MMCRA_SIPR,
   262			.platform		= "power5+",
   263		},
   264		{	/* Power5 GS */
   265			.pvr_mask		= 0xffff0000,
   266			.pvr_value		= 0x003b0000,
   267			.cpu_name		= "POWER5+ (gs)",
   268			.cpu_features		= CPU_FTRS_POWER5,
   269			.cpu_user_features	= COMMON_USER_POWER5_PLUS,
   270			.mmu_features		= MMU_FTRS_POWER5,
   271			.icache_bsize		= 128,
   272			.dcache_bsize		= 128,
   273			.num_pmcs		= 6,
   274			.pmc_type		= PPC_PMC_IBM,
   275			.oprofile_cpu_type	= "ppc64/power5+",
   276			.oprofile_type		= PPC_OPROFILE_POWER4,
   277			.oprofile_mmcra_sihv	= MMCRA_SIHV,
   278			.oprofile_mmcra_sipr	= MMCRA_SIPR,
   279			.platform		= "power5+",
   280		},
   281		{	/* POWER6 in P5+ mode; 2.04-compliant processor */
   282			.pvr_mask		= 0xffffffff,
   283			.pvr_value		= 0x0f000001,
   284			.cpu_name		= "POWER5+",
   285			.cpu_features		= CPU_FTRS_POWER5,
   286			.cpu_user_features	= COMMON_USER_POWER5_PLUS,
   287			.mmu_features		= MMU_FTRS_POWER5,
   288			.icache_bsize		= 128,
   289			.dcache_bsize		= 128,
   290			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
   291			.oprofile_type		= PPC_OPROFILE_POWER4,
   292			.platform		= "power5+",
   293		},
   294		{	/* Power6 */
   295			.pvr_mask		= 0xffff0000,
   296			.pvr_value		= 0x003e0000,
   297			.cpu_name		= "POWER6 (raw)",
   298			.cpu_features		= CPU_FTRS_POWER6,
   299			.cpu_user_features	= COMMON_USER_POWER6 |
   300				PPC_FEATURE_POWER6_EXT,
   301			.mmu_features		= MMU_FTRS_POWER6,
   302			.icache_bsize		= 128,
   303			.dcache_bsize		= 128,
   304			.num_pmcs		= 6,
   305			.pmc_type		= PPC_PMC_IBM,
   306			.oprofile_cpu_type	= "ppc64/power6",
   307			.oprofile_type		= PPC_OPROFILE_POWER4,
   308			.oprofile_mmcra_sihv	= POWER6_MMCRA_SIHV,
   309			.oprofile_mmcra_sipr	= POWER6_MMCRA_SIPR,
   310			.oprofile_mmcra_clear	= POWER6_MMCRA_THRM |
   311				POWER6_MMCRA_OTHER,
   312			.platform		= "power6x",
   313		},
   314		{	/* 2.05-compliant processor, i.e. Power6 "architected" mode */
   315			.pvr_mask		= 0xffffffff,
   316			.pvr_value		= 0x0f000002,
   317			.cpu_name		= "POWER6 (architected)",
   318			.cpu_features		= CPU_FTRS_POWER6,
   319			.cpu_user_features	= COMMON_USER_POWER6,
   320			.mmu_features		= MMU_FTRS_POWER6,
   321			.icache_bsize		= 128,
   322			.dcache_bsize		= 128,
   323			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
   324			.oprofile_type		= PPC_OPROFILE_POWER4,
   325			.platform		= "power6",
   326		},
   327		{	/* 2.06-compliant processor, i.e. Power7 "architected" mode */
   328			.pvr_mask		= 0xffffffff,
   329			.pvr_value		= 0x0f000003,
   330			.cpu_name		= "POWER7 (architected)",
   331			.cpu_features		= CPU_FTRS_POWER7,
   332			.cpu_user_features	= COMMON_USER_POWER7,
   333			.cpu_user_features2	= COMMON_USER2_POWER7,
   334			.mmu_features		= MMU_FTRS_POWER7,
   335			.icache_bsize		= 128,
   336			.dcache_bsize		= 128,
   337			.oprofile_type		= PPC_OPROFILE_POWER4,
   338			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
   339			.cpu_setup		= __setup_cpu_power7,
   340			.cpu_restore		= __restore_cpu_power7,
   341			.machine_check_early	= __machine_check_early_realmode_p7,
   342			.platform		= "power7",
   343		},
   344		{	/* 2.07-compliant processor, i.e. Power8 "architected" mode */
   345			.pvr_mask		= 0xffffffff,
   346			.pvr_value		= 0x0f000004,
   347			.cpu_name		= "POWER8 (architected)",
   348			.cpu_features		= CPU_FTRS_POWER8,
   349			.cpu_user_features	= COMMON_USER_POWER8,
   350			.cpu_user_features2	= COMMON_USER2_POWER8,
   351			.mmu_features		= MMU_FTRS_POWER8,
   352			.icache_bsize		= 128,
   353			.dcache_bsize		= 128,
   354			.oprofile_type		= PPC_OPROFILE_INVALID,
   355			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
   356			.cpu_setup		= __setup_cpu_power8,
   357			.cpu_restore		= __restore_cpu_power8,
   358			.machine_check_early	= __machine_check_early_realmode_p8,
   359			.platform		= "power8",
   360		},
   361		{	/* 3.00-compliant processor, i.e. Power9 "architected" mode */
   362			.pvr_mask		= 0xffffffff,
   363			.pvr_value		= 0x0f000005,
   364			.cpu_name		= "POWER9 (architected)",
   365			.cpu_features		= CPU_FTRS_POWER9,
   366			.cpu_user_features	= COMMON_USER_POWER9,
   367			.cpu_user_features2	= COMMON_USER2_POWER9,
   368			.mmu_features		= MMU_FTRS_POWER9,
   369			.icache_bsize		= 128,
   370			.dcache_bsize		= 128,
   371			.oprofile_type		= PPC_OPROFILE_INVALID,
   372			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
   373			.cpu_setup		= __setup_cpu_power9,
   374			.cpu_restore		= __restore_cpu_power9,
   375			.platform		= "power9",
   376		},
   377		{	/* 3.1-compliant processor, i.e. Power10 "architected" mode */
   378			.pvr_mask		= 0xffffffff,
   379			.pvr_value		= 0x0f000006,
   380			.cpu_name		= "POWER10 (architected)",
   381			.cpu_features		= CPU_FTRS_POWER10,
   382			.cpu_user_features	= COMMON_USER_POWER10,
   383			.cpu_user_features2	= COMMON_USER2_POWER10,
   384			.mmu_features		= MMU_FTRS_POWER10,
   385			.icache_bsize		= 128,
   386			.dcache_bsize		= 128,
   387			.oprofile_type		= PPC_OPROFILE_INVALID,
   388			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
   389			.cpu_setup		= __setup_cpu_power10,
   390			.cpu_restore		= __restore_cpu_power10,
   391			.platform		= "power10",
   392		},
   393		{	/* Power7 */
   394			.pvr_mask		= 0xffff0000,
   395			.pvr_value		= 0x003f0000,
   396			.cpu_name		= "POWER7 (raw)",
   397			.cpu_features		= CPU_FTRS_POWER7,
   398			.cpu_user_features	= COMMON_USER_POWER7,
   399			.cpu_user_features2	= COMMON_USER2_POWER7,
   400			.mmu_features		= MMU_FTRS_POWER7,
   401			.icache_bsize		= 128,
   402			.dcache_bsize		= 128,
   403			.num_pmcs		= 6,
   404			.pmc_type		= PPC_PMC_IBM,
   405			.oprofile_cpu_type	= "ppc64/power7",
   406			.oprofile_type		= PPC_OPROFILE_POWER4,
   407			.cpu_setup		= __setup_cpu_power7,
   408			.cpu_restore		= __restore_cpu_power7,
   409			.machine_check_early	= __machine_check_early_realmode_p7,
   410			.platform		= "power7",
   411		},
   412		{	/* Power7+ */
   413			.pvr_mask		= 0xffff0000,
   414			.pvr_value		= 0x004A0000,
   415			.cpu_name		= "POWER7+ (raw)",
   416			.cpu_features		= CPU_FTRS_POWER7,
   417			.cpu_user_features	= COMMON_USER_POWER7,
   418			.cpu_user_features2	= COMMON_USER2_POWER7,
   419			.mmu_features		= MMU_FTRS_POWER7,
   420			.icache_bsize		= 128,
   421			.dcache_bsize		= 128,
   422			.num_pmcs		= 6,
   423			.pmc_type		= PPC_PMC_IBM,
   424			.oprofile_cpu_type	= "ppc64/power7",
   425			.oprofile_type		= PPC_OPROFILE_POWER4,
   426			.cpu_setup		= __setup_cpu_power7,
   427			.cpu_restore		= __restore_cpu_power7,
   428			.machine_check_early	= __machine_check_early_realmode_p7,
   429			.platform		= "power7+",
   430		},
   431		{	/* Power8E */
   432			.pvr_mask		= 0xffff0000,
   433			.pvr_value		= 0x004b0000,
   434			.cpu_name		= "POWER8E (raw)",
   435			.cpu_features		= CPU_FTRS_POWER8E,
   436			.cpu_user_features	= COMMON_USER_POWER8,
   437			.cpu_user_features2	= COMMON_USER2_POWER8,
   438			.mmu_features		= MMU_FTRS_POWER8,
   439			.icache_bsize		= 128,
   440			.dcache_bsize		= 128,
   441			.num_pmcs		= 6,
   442			.pmc_type		= PPC_PMC_IBM,
   443			.oprofile_cpu_type	= "ppc64/power8",
   444			.oprofile_type		= PPC_OPROFILE_INVALID,
   445			.cpu_setup		= __setup_cpu_power8,
   446			.cpu_restore		= __restore_cpu_power8,
   447			.machine_check_early	= __machine_check_early_realmode_p8,
   448			.platform		= "power8",
   449		},
   450		{	/* Power8NVL */
   451			.pvr_mask		= 0xffff0000,
   452			.pvr_value		= 0x004c0000,
   453			.cpu_name		= "POWER8NVL (raw)",
   454			.cpu_features		= CPU_FTRS_POWER8,
   455			.cpu_user_features	= COMMON_USER_POWER8,
   456			.cpu_user_features2	= COMMON_USER2_POWER8,
   457			.mmu_features		= MMU_FTRS_POWER8,
   458			.icache_bsize		= 128,
   459			.dcache_bsize		= 128,
   460			.num_pmcs		= 6,
   461			.pmc_type		= PPC_PMC_IBM,
   462			.oprofile_cpu_type	= "ppc64/power8",
   463			.oprofile_type		= PPC_OPROFILE_INVALID,
   464			.cpu_setup		= __setup_cpu_power8,
   465			.cpu_restore		= __restore_cpu_power8,
   466			.machine_check_early	= __machine_check_early_realmode_p8,
   467			.platform		= "power8",
   468		},
   469		{	/* Power8 */
   470			.pvr_mask		= 0xffff0000,
   471			.pvr_value		= 0x004d0000,
   472			.cpu_name		= "POWER8 (raw)",
   473			.cpu_features		= CPU_FTRS_POWER8,
   474			.cpu_user_features	= COMMON_USER_POWER8,
   475			.cpu_user_features2	= COMMON_USER2_POWER8,
   476			.mmu_features		= MMU_FTRS_POWER8,
   477			.icache_bsize		= 128,
   478			.dcache_bsize		= 128,
   479			.num_pmcs		= 6,
   480			.pmc_type		= PPC_PMC_IBM,
   481			.oprofile_cpu_type	= "ppc64/power8",
   482			.oprofile_type		= PPC_OPROFILE_INVALID,
   483			.cpu_setup		= __setup_cpu_power8,
   484			.cpu_restore		= __restore_cpu_power8,
   485			.machine_check_early	= __machine_check_early_realmode_p8,
   486			.platform		= "power8",
   487		},
   488		{	/* Power9 DD2.0 */
   489			.pvr_mask		= 0xffffefff,
   490			.pvr_value		= 0x004e0200,
   491			.cpu_name		= "POWER9 (raw)",
   492			.cpu_features		= CPU_FTRS_POWER9_DD2_0,
   493			.cpu_user_features	= COMMON_USER_POWER9,
   494			.cpu_user_features2	= COMMON_USER2_POWER9,
   495			.mmu_features		= MMU_FTRS_POWER9,
   496			.icache_bsize		= 128,
   497			.dcache_bsize		= 128,
   498			.num_pmcs		= 6,
   499			.pmc_type		= PPC_PMC_IBM,
   500			.oprofile_cpu_type	= "ppc64/power9",
   501			.oprofile_type		= PPC_OPROFILE_INVALID,
   502			.cpu_setup		= __setup_cpu_power9,
   503			.cpu_restore		= __restore_cpu_power9,
   504			.machine_check_early	= __machine_check_early_realmode_p9,
   505			.platform		= "power9",
   506		},
   507		{	/* Power9 DD 2.1 */
   508			.pvr_mask		= 0xffffefff,
   509			.pvr_value		= 0x004e0201,
   510			.cpu_name		= "POWER9 (raw)",
   511			.cpu_features		= CPU_FTRS_POWER9_DD2_1,
   512			.cpu_user_features	= COMMON_USER_POWER9,
   513			.cpu_user_features2	= COMMON_USER2_POWER9,
   514			.mmu_features		= MMU_FTRS_POWER9,
   515			.icache_bsize		= 128,
   516			.dcache_bsize		= 128,
   517			.num_pmcs		= 6,
   518			.pmc_type		= PPC_PMC_IBM,
   519			.oprofile_cpu_type	= "ppc64/power9",
   520			.oprofile_type		= PPC_OPROFILE_INVALID,
   521			.cpu_setup		= __setup_cpu_power9,
   522			.cpu_restore		= __restore_cpu_power9,
   523			.machine_check_early	= __machine_check_early_realmode_p9,
   524			.platform		= "power9",
   525		},
   526		{	/* Power9 DD2.2 or later */
   527			.pvr_mask		= 0xffff0000,
   528			.pvr_value		= 0x004e0000,
   529			.cpu_name		= "POWER9 (raw)",
   530			.cpu_features		= CPU_FTRS_POWER9_DD2_2,
   531			.cpu_user_features	= COMMON_USER_POWER9,
   532			.cpu_user_features2	= COMMON_USER2_POWER9,
   533			.mmu_features		= MMU_FTRS_POWER9,
   534			.icache_bsize		= 128,
   535			.dcache_bsize		= 128,
   536			.num_pmcs		= 6,
   537			.pmc_type		= PPC_PMC_IBM,
   538			.oprofile_cpu_type	= "ppc64/power9",
   539			.oprofile_type		= PPC_OPROFILE_INVALID,
   540			.cpu_setup		= __setup_cpu_power9,
   541			.cpu_restore		= __restore_cpu_power9,
   542			.machine_check_early	= __machine_check_early_realmode_p9,
   543			.platform		= "power9",
   544		},
   545		{	/* Power10 */
   546			.pvr_mask		= 0xffff0000,
   547			.pvr_value		= 0x00800000,
   548			.cpu_name		= "POWER10 (raw)",
   549			.cpu_features		= CPU_FTRS_POWER10,
   550			.cpu_user_features	= COMMON_USER_POWER10,
   551			.cpu_user_features2	= COMMON_USER2_POWER10,
   552			.mmu_features		= MMU_FTRS_POWER10,
   553			.icache_bsize		= 128,
   554			.dcache_bsize		= 128,
   555			.num_pmcs		= 6,
   556			.pmc_type		= PPC_PMC_IBM,
   557			.oprofile_cpu_type	= "ppc64/power10",
   558			.oprofile_type		= PPC_OPROFILE_INVALID,
   559			.cpu_setup		= __setup_cpu_power10,
   560			.cpu_restore		= __restore_cpu_power10,
 > 561			.machine_check_early	= __machine_check_early_realmode_p10,
   562			.platform		= "power10",
   563		},
   564		{	/* Cell Broadband Engine */
   565			.pvr_mask		= 0xffff0000,
   566			.pvr_value		= 0x00700000,
   567			.cpu_name		= "Cell Broadband Engine",
   568			.cpu_features		= CPU_FTRS_CELL,
   569			.cpu_user_features	= COMMON_USER_PPC64 |
   570				PPC_FEATURE_CELL | PPC_FEATURE_HAS_ALTIVEC_COMP |
   571				PPC_FEATURE_SMT,
   572			.mmu_features		= MMU_FTRS_CELL,
   573			.icache_bsize		= 128,
   574			.dcache_bsize		= 128,
   575			.num_pmcs		= 4,
   576			.pmc_type		= PPC_PMC_IBM,
   577			.oprofile_cpu_type	= "ppc64/cell-be",
   578			.oprofile_type		= PPC_OPROFILE_CELL,
   579			.platform		= "ppc-cell-be",
   580		},
   581		{	/* PA Semi PA6T */
   582			.pvr_mask		= 0x7fff0000,
   583			.pvr_value		= 0x00900000,
   584			.cpu_name		= "PA6T",
   585			.cpu_features		= CPU_FTRS_PA6T,
   586			.cpu_user_features	= COMMON_USER_PA6T,
   587			.mmu_features		= MMU_FTRS_PA6T,
   588			.icache_bsize		= 64,
   589			.dcache_bsize		= 64,
   590			.num_pmcs		= 6,
   591			.pmc_type		= PPC_PMC_PA6T,
   592			.cpu_setup		= __setup_cpu_pa6t,
   593			.cpu_restore		= __restore_cpu_pa6t,
   594			.oprofile_cpu_type	= "ppc64/pa6t",
   595			.oprofile_type		= PPC_OPROFILE_PA6T,
   596			.platform		= "pa6t",
   597		},
   598		{	/* default match */
   599			.pvr_mask		= 0x00000000,
   600			.pvr_value		= 0x00000000,
   601			.cpu_name		= "POWER5 (compatible)",
   602			.cpu_features		= CPU_FTRS_COMPATIBLE,
   603			.cpu_user_features	= COMMON_USER_PPC64,
   604			.mmu_features		= MMU_FTRS_POWER,
   605			.icache_bsize		= 128,
   606			.dcache_bsize		= 128,
   607			.num_pmcs		= 6,
   608			.pmc_type		= PPC_PMC_IBM,
   609			.platform		= "power5",
   610		}
   611	#endif	/* CONFIG_PPC_BOOK3S_64 */
   612	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Madhavan Srinivasan Aug. 14, 2020, 7:20 a.m. UTC | #2
On 8/14/20 11:57 AM, kernel test robot wrote:
> Hi Madhavan,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on powerpc/next]
> [also build test ERROR on v5.8 next-20200814]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
>
> url:    https://github.com/0day-ci/linux/commits/Madhavan-Srinivasan/powerpc-Add-POWER10-raw-mode-cputable-entry/20200814-120142
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
> config: powerpc-defconfig (attached as .config)
> compiler: powerpc64-linux-gcc (GCC) 9.3.0
> reproduce (this is a W=1 build):
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # save the attached .config to linux build tree
>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>>> arch/powerpc/kernel/cputable.c:561:26: error: '__machine_check_early_realmode_p10' undeclared here (not in a function); did you mean '__machine_check_early_realmode_p9'?
>       561 |   .machine_check_early = __machine_check_early_realmode_p10,
>           |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>           |                          __machine_check_early_realmode_p9

Yes, i did hit this in my compile check and i added the below line,

diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index b4066354f073..b22216db5c71 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -75,6 +75,7 @@ extern void __restore_cpu_power10(void);
  extern long __machine_check_early_realmode_p7(struct pt_regs *regs);
  extern long __machine_check_early_realmode_p8(struct pt_regs *regs);
  extern long __machine_check_early_realmode_p9(struct pt_regs *regs);
+extern long __machine_check_early_realmode_p10(struct pt_regs *regs);
  #endif /* CONFIG_PPC64 */
  #if defined(CONFIG_E500)
  extern void __setup_cpu_e5500(unsigned long offset, struct cpu_spec* 
spec);


but my bad, i sent the one i internally reviewed which did not have it.
I will send again. Sorry

Maddy

> vim +561 arch/powerpc/kernel/cputable.c
>
>     136	
>     137	static struct cpu_spec __initdata cpu_specs[] = {
>     138	#ifdef CONFIG_PPC_BOOK3S_64
>     139		{	/* PPC970 */
>     140			.pvr_mask		= 0xffff0000,
>     141			.pvr_value		= 0x00390000,
>     142			.cpu_name		= "PPC970",
>     143			.cpu_features		= CPU_FTRS_PPC970,
>     144			.cpu_user_features	= COMMON_USER_POWER4 |
>     145				PPC_FEATURE_HAS_ALTIVEC_COMP,
>     146			.mmu_features		= MMU_FTRS_PPC970,
>     147			.icache_bsize		= 128,
>     148			.dcache_bsize		= 128,
>     149			.num_pmcs		= 8,
>     150			.pmc_type		= PPC_PMC_IBM,
>     151			.cpu_setup		= __setup_cpu_ppc970,
>     152			.cpu_restore		= __restore_cpu_ppc970,
>     153			.oprofile_cpu_type	= "ppc64/970",
>     154			.oprofile_type		= PPC_OPROFILE_POWER4,
>     155			.platform		= "ppc970",
>     156		},
>     157		{	/* PPC970FX */
>     158			.pvr_mask		= 0xffff0000,
>     159			.pvr_value		= 0x003c0000,
>     160			.cpu_name		= "PPC970FX",
>     161			.cpu_features		= CPU_FTRS_PPC970,
>     162			.cpu_user_features	= COMMON_USER_POWER4 |
>     163				PPC_FEATURE_HAS_ALTIVEC_COMP,
>     164			.mmu_features		= MMU_FTRS_PPC970,
>     165			.icache_bsize		= 128,
>     166			.dcache_bsize		= 128,
>     167			.num_pmcs		= 8,
>     168			.pmc_type		= PPC_PMC_IBM,
>     169			.cpu_setup		= __setup_cpu_ppc970,
>     170			.cpu_restore		= __restore_cpu_ppc970,
>     171			.oprofile_cpu_type	= "ppc64/970",
>     172			.oprofile_type		= PPC_OPROFILE_POWER4,
>     173			.platform		= "ppc970",
>     174		},
>     175		{	/* PPC970MP DD1.0 - no DEEPNAP, use regular 970 init */
>     176			.pvr_mask		= 0xffffffff,
>     177			.pvr_value		= 0x00440100,
>     178			.cpu_name		= "PPC970MP",
>     179			.cpu_features		= CPU_FTRS_PPC970,
>     180			.cpu_user_features	= COMMON_USER_POWER4 |
>     181				PPC_FEATURE_HAS_ALTIVEC_COMP,
>     182			.mmu_features		= MMU_FTRS_PPC970,
>     183			.icache_bsize		= 128,
>     184			.dcache_bsize		= 128,
>     185			.num_pmcs		= 8,
>     186			.pmc_type		= PPC_PMC_IBM,
>     187			.cpu_setup		= __setup_cpu_ppc970,
>     188			.cpu_restore		= __restore_cpu_ppc970,
>     189			.oprofile_cpu_type	= "ppc64/970MP",
>     190			.oprofile_type		= PPC_OPROFILE_POWER4,
>     191			.platform		= "ppc970",
>     192		},
>     193		{	/* PPC970MP */
>     194			.pvr_mask		= 0xffff0000,
>     195			.pvr_value		= 0x00440000,
>     196			.cpu_name		= "PPC970MP",
>     197			.cpu_features		= CPU_FTRS_PPC970,
>     198			.cpu_user_features	= COMMON_USER_POWER4 |
>     199				PPC_FEATURE_HAS_ALTIVEC_COMP,
>     200			.mmu_features		= MMU_FTRS_PPC970,
>     201			.icache_bsize		= 128,
>     202			.dcache_bsize		= 128,
>     203			.num_pmcs		= 8,
>     204			.pmc_type		= PPC_PMC_IBM,
>     205			.cpu_setup		= __setup_cpu_ppc970MP,
>     206			.cpu_restore		= __restore_cpu_ppc970,
>     207			.oprofile_cpu_type	= "ppc64/970MP",
>     208			.oprofile_type		= PPC_OPROFILE_POWER4,
>     209			.platform		= "ppc970",
>     210		},
>     211		{	/* PPC970GX */
>     212			.pvr_mask		= 0xffff0000,
>     213			.pvr_value		= 0x00450000,
>     214			.cpu_name		= "PPC970GX",
>     215			.cpu_features		= CPU_FTRS_PPC970,
>     216			.cpu_user_features	= COMMON_USER_POWER4 |
>     217				PPC_FEATURE_HAS_ALTIVEC_COMP,
>     218			.mmu_features		= MMU_FTRS_PPC970,
>     219			.icache_bsize		= 128,
>     220			.dcache_bsize		= 128,
>     221			.num_pmcs		= 8,
>     222			.pmc_type		= PPC_PMC_IBM,
>     223			.cpu_setup		= __setup_cpu_ppc970,
>     224			.oprofile_cpu_type	= "ppc64/970",
>     225			.oprofile_type		= PPC_OPROFILE_POWER4,
>     226			.platform		= "ppc970",
>     227		},
>     228		{	/* Power5 GR */
>     229			.pvr_mask		= 0xffff0000,
>     230			.pvr_value		= 0x003a0000,
>     231			.cpu_name		= "POWER5 (gr)",
>     232			.cpu_features		= CPU_FTRS_POWER5,
>     233			.cpu_user_features	= COMMON_USER_POWER5,
>     234			.mmu_features		= MMU_FTRS_POWER5,
>     235			.icache_bsize		= 128,
>     236			.dcache_bsize		= 128,
>     237			.num_pmcs		= 6,
>     238			.pmc_type		= PPC_PMC_IBM,
>     239			.oprofile_cpu_type	= "ppc64/power5",
>     240			.oprofile_type		= PPC_OPROFILE_POWER4,
>     241			/* SIHV / SIPR bits are implemented on POWER4+ (GQ)
>     242			 * and above but only works on POWER5 and above
>     243			 */
>     244			.oprofile_mmcra_sihv	= MMCRA_SIHV,
>     245			.oprofile_mmcra_sipr	= MMCRA_SIPR,
>     246			.platform		= "power5",
>     247		},
>     248		{	/* Power5++ */
>     249			.pvr_mask		= 0xffffff00,
>     250			.pvr_value		= 0x003b0300,
>     251			.cpu_name		= "POWER5+ (gs)",
>     252			.cpu_features		= CPU_FTRS_POWER5,
>     253			.cpu_user_features	= COMMON_USER_POWER5_PLUS,
>     254			.mmu_features		= MMU_FTRS_POWER5,
>     255			.icache_bsize		= 128,
>     256			.dcache_bsize		= 128,
>     257			.num_pmcs		= 6,
>     258			.oprofile_cpu_type	= "ppc64/power5++",
>     259			.oprofile_type		= PPC_OPROFILE_POWER4,
>     260			.oprofile_mmcra_sihv	= MMCRA_SIHV,
>     261			.oprofile_mmcra_sipr	= MMCRA_SIPR,
>     262			.platform		= "power5+",
>     263		},
>     264		{	/* Power5 GS */
>     265			.pvr_mask		= 0xffff0000,
>     266			.pvr_value		= 0x003b0000,
>     267			.cpu_name		= "POWER5+ (gs)",
>     268			.cpu_features		= CPU_FTRS_POWER5,
>     269			.cpu_user_features	= COMMON_USER_POWER5_PLUS,
>     270			.mmu_features		= MMU_FTRS_POWER5,
>     271			.icache_bsize		= 128,
>     272			.dcache_bsize		= 128,
>     273			.num_pmcs		= 6,
>     274			.pmc_type		= PPC_PMC_IBM,
>     275			.oprofile_cpu_type	= "ppc64/power5+",
>     276			.oprofile_type		= PPC_OPROFILE_POWER4,
>     277			.oprofile_mmcra_sihv	= MMCRA_SIHV,
>     278			.oprofile_mmcra_sipr	= MMCRA_SIPR,
>     279			.platform		= "power5+",
>     280		},
>     281		{	/* POWER6 in P5+ mode; 2.04-compliant processor */
>     282			.pvr_mask		= 0xffffffff,
>     283			.pvr_value		= 0x0f000001,
>     284			.cpu_name		= "POWER5+",
>     285			.cpu_features		= CPU_FTRS_POWER5,
>     286			.cpu_user_features	= COMMON_USER_POWER5_PLUS,
>     287			.mmu_features		= MMU_FTRS_POWER5,
>     288			.icache_bsize		= 128,
>     289			.dcache_bsize		= 128,
>     290			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
>     291			.oprofile_type		= PPC_OPROFILE_POWER4,
>     292			.platform		= "power5+",
>     293		},
>     294		{	/* Power6 */
>     295			.pvr_mask		= 0xffff0000,
>     296			.pvr_value		= 0x003e0000,
>     297			.cpu_name		= "POWER6 (raw)",
>     298			.cpu_features		= CPU_FTRS_POWER6,
>     299			.cpu_user_features	= COMMON_USER_POWER6 |
>     300				PPC_FEATURE_POWER6_EXT,
>     301			.mmu_features		= MMU_FTRS_POWER6,
>     302			.icache_bsize		= 128,
>     303			.dcache_bsize		= 128,
>     304			.num_pmcs		= 6,
>     305			.pmc_type		= PPC_PMC_IBM,
>     306			.oprofile_cpu_type	= "ppc64/power6",
>     307			.oprofile_type		= PPC_OPROFILE_POWER4,
>     308			.oprofile_mmcra_sihv	= POWER6_MMCRA_SIHV,
>     309			.oprofile_mmcra_sipr	= POWER6_MMCRA_SIPR,
>     310			.oprofile_mmcra_clear	= POWER6_MMCRA_THRM |
>     311				POWER6_MMCRA_OTHER,
>     312			.platform		= "power6x",
>     313		},
>     314		{	/* 2.05-compliant processor, i.e. Power6 "architected" mode */
>     315			.pvr_mask		= 0xffffffff,
>     316			.pvr_value		= 0x0f000002,
>     317			.cpu_name		= "POWER6 (architected)",
>     318			.cpu_features		= CPU_FTRS_POWER6,
>     319			.cpu_user_features	= COMMON_USER_POWER6,
>     320			.mmu_features		= MMU_FTRS_POWER6,
>     321			.icache_bsize		= 128,
>     322			.dcache_bsize		= 128,
>     323			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
>     324			.oprofile_type		= PPC_OPROFILE_POWER4,
>     325			.platform		= "power6",
>     326		},
>     327		{	/* 2.06-compliant processor, i.e. Power7 "architected" mode */
>     328			.pvr_mask		= 0xffffffff,
>     329			.pvr_value		= 0x0f000003,
>     330			.cpu_name		= "POWER7 (architected)",
>     331			.cpu_features		= CPU_FTRS_POWER7,
>     332			.cpu_user_features	= COMMON_USER_POWER7,
>     333			.cpu_user_features2	= COMMON_USER2_POWER7,
>     334			.mmu_features		= MMU_FTRS_POWER7,
>     335			.icache_bsize		= 128,
>     336			.dcache_bsize		= 128,
>     337			.oprofile_type		= PPC_OPROFILE_POWER4,
>     338			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
>     339			.cpu_setup		= __setup_cpu_power7,
>     340			.cpu_restore		= __restore_cpu_power7,
>     341			.machine_check_early	= __machine_check_early_realmode_p7,
>     342			.platform		= "power7",
>     343		},
>     344		{	/* 2.07-compliant processor, i.e. Power8 "architected" mode */
>     345			.pvr_mask		= 0xffffffff,
>     346			.pvr_value		= 0x0f000004,
>     347			.cpu_name		= "POWER8 (architected)",
>     348			.cpu_features		= CPU_FTRS_POWER8,
>     349			.cpu_user_features	= COMMON_USER_POWER8,
>     350			.cpu_user_features2	= COMMON_USER2_POWER8,
>     351			.mmu_features		= MMU_FTRS_POWER8,
>     352			.icache_bsize		= 128,
>     353			.dcache_bsize		= 128,
>     354			.oprofile_type		= PPC_OPROFILE_INVALID,
>     355			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
>     356			.cpu_setup		= __setup_cpu_power8,
>     357			.cpu_restore		= __restore_cpu_power8,
>     358			.machine_check_early	= __machine_check_early_realmode_p8,
>     359			.platform		= "power8",
>     360		},
>     361		{	/* 3.00-compliant processor, i.e. Power9 "architected" mode */
>     362			.pvr_mask		= 0xffffffff,
>     363			.pvr_value		= 0x0f000005,
>     364			.cpu_name		= "POWER9 (architected)",
>     365			.cpu_features		= CPU_FTRS_POWER9,
>     366			.cpu_user_features	= COMMON_USER_POWER9,
>     367			.cpu_user_features2	= COMMON_USER2_POWER9,
>     368			.mmu_features		= MMU_FTRS_POWER9,
>     369			.icache_bsize		= 128,
>     370			.dcache_bsize		= 128,
>     371			.oprofile_type		= PPC_OPROFILE_INVALID,
>     372			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
>     373			.cpu_setup		= __setup_cpu_power9,
>     374			.cpu_restore		= __restore_cpu_power9,
>     375			.platform		= "power9",
>     376		},
>     377		{	/* 3.1-compliant processor, i.e. Power10 "architected" mode */
>     378			.pvr_mask		= 0xffffffff,
>     379			.pvr_value		= 0x0f000006,
>     380			.cpu_name		= "POWER10 (architected)",
>     381			.cpu_features		= CPU_FTRS_POWER10,
>     382			.cpu_user_features	= COMMON_USER_POWER10,
>     383			.cpu_user_features2	= COMMON_USER2_POWER10,
>     384			.mmu_features		= MMU_FTRS_POWER10,
>     385			.icache_bsize		= 128,
>     386			.dcache_bsize		= 128,
>     387			.oprofile_type		= PPC_OPROFILE_INVALID,
>     388			.oprofile_cpu_type	= "ppc64/ibm-compat-v1",
>     389			.cpu_setup		= __setup_cpu_power10,
>     390			.cpu_restore		= __restore_cpu_power10,
>     391			.platform		= "power10",
>     392		},
>     393		{	/* Power7 */
>     394			.pvr_mask		= 0xffff0000,
>     395			.pvr_value		= 0x003f0000,
>     396			.cpu_name		= "POWER7 (raw)",
>     397			.cpu_features		= CPU_FTRS_POWER7,
>     398			.cpu_user_features	= COMMON_USER_POWER7,
>     399			.cpu_user_features2	= COMMON_USER2_POWER7,
>     400			.mmu_features		= MMU_FTRS_POWER7,
>     401			.icache_bsize		= 128,
>     402			.dcache_bsize		= 128,
>     403			.num_pmcs		= 6,
>     404			.pmc_type		= PPC_PMC_IBM,
>     405			.oprofile_cpu_type	= "ppc64/power7",
>     406			.oprofile_type		= PPC_OPROFILE_POWER4,
>     407			.cpu_setup		= __setup_cpu_power7,
>     408			.cpu_restore		= __restore_cpu_power7,
>     409			.machine_check_early	= __machine_check_early_realmode_p7,
>     410			.platform		= "power7",
>     411		},
>     412		{	/* Power7+ */
>     413			.pvr_mask		= 0xffff0000,
>     414			.pvr_value		= 0x004A0000,
>     415			.cpu_name		= "POWER7+ (raw)",
>     416			.cpu_features		= CPU_FTRS_POWER7,
>     417			.cpu_user_features	= COMMON_USER_POWER7,
>     418			.cpu_user_features2	= COMMON_USER2_POWER7,
>     419			.mmu_features		= MMU_FTRS_POWER7,
>     420			.icache_bsize		= 128,
>     421			.dcache_bsize		= 128,
>     422			.num_pmcs		= 6,
>     423			.pmc_type		= PPC_PMC_IBM,
>     424			.oprofile_cpu_type	= "ppc64/power7",
>     425			.oprofile_type		= PPC_OPROFILE_POWER4,
>     426			.cpu_setup		= __setup_cpu_power7,
>     427			.cpu_restore		= __restore_cpu_power7,
>     428			.machine_check_early	= __machine_check_early_realmode_p7,
>     429			.platform		= "power7+",
>     430		},
>     431		{	/* Power8E */
>     432			.pvr_mask		= 0xffff0000,
>     433			.pvr_value		= 0x004b0000,
>     434			.cpu_name		= "POWER8E (raw)",
>     435			.cpu_features		= CPU_FTRS_POWER8E,
>     436			.cpu_user_features	= COMMON_USER_POWER8,
>     437			.cpu_user_features2	= COMMON_USER2_POWER8,
>     438			.mmu_features		= MMU_FTRS_POWER8,
>     439			.icache_bsize		= 128,
>     440			.dcache_bsize		= 128,
>     441			.num_pmcs		= 6,
>     442			.pmc_type		= PPC_PMC_IBM,
>     443			.oprofile_cpu_type	= "ppc64/power8",
>     444			.oprofile_type		= PPC_OPROFILE_INVALID,
>     445			.cpu_setup		= __setup_cpu_power8,
>     446			.cpu_restore		= __restore_cpu_power8,
>     447			.machine_check_early	= __machine_check_early_realmode_p8,
>     448			.platform		= "power8",
>     449		},
>     450		{	/* Power8NVL */
>     451			.pvr_mask		= 0xffff0000,
>     452			.pvr_value		= 0x004c0000,
>     453			.cpu_name		= "POWER8NVL (raw)",
>     454			.cpu_features		= CPU_FTRS_POWER8,
>     455			.cpu_user_features	= COMMON_USER_POWER8,
>     456			.cpu_user_features2	= COMMON_USER2_POWER8,
>     457			.mmu_features		= MMU_FTRS_POWER8,
>     458			.icache_bsize		= 128,
>     459			.dcache_bsize		= 128,
>     460			.num_pmcs		= 6,
>     461			.pmc_type		= PPC_PMC_IBM,
>     462			.oprofile_cpu_type	= "ppc64/power8",
>     463			.oprofile_type		= PPC_OPROFILE_INVALID,
>     464			.cpu_setup		= __setup_cpu_power8,
>     465			.cpu_restore		= __restore_cpu_power8,
>     466			.machine_check_early	= __machine_check_early_realmode_p8,
>     467			.platform		= "power8",
>     468		},
>     469		{	/* Power8 */
>     470			.pvr_mask		= 0xffff0000,
>     471			.pvr_value		= 0x004d0000,
>     472			.cpu_name		= "POWER8 (raw)",
>     473			.cpu_features		= CPU_FTRS_POWER8,
>     474			.cpu_user_features	= COMMON_USER_POWER8,
>     475			.cpu_user_features2	= COMMON_USER2_POWER8,
>     476			.mmu_features		= MMU_FTRS_POWER8,
>     477			.icache_bsize		= 128,
>     478			.dcache_bsize		= 128,
>     479			.num_pmcs		= 6,
>     480			.pmc_type		= PPC_PMC_IBM,
>     481			.oprofile_cpu_type	= "ppc64/power8",
>     482			.oprofile_type		= PPC_OPROFILE_INVALID,
>     483			.cpu_setup		= __setup_cpu_power8,
>     484			.cpu_restore		= __restore_cpu_power8,
>     485			.machine_check_early	= __machine_check_early_realmode_p8,
>     486			.platform		= "power8",
>     487		},
>     488		{	/* Power9 DD2.0 */
>     489			.pvr_mask		= 0xffffefff,
>     490			.pvr_value		= 0x004e0200,
>     491			.cpu_name		= "POWER9 (raw)",
>     492			.cpu_features		= CPU_FTRS_POWER9_DD2_0,
>     493			.cpu_user_features	= COMMON_USER_POWER9,
>     494			.cpu_user_features2	= COMMON_USER2_POWER9,
>     495			.mmu_features		= MMU_FTRS_POWER9,
>     496			.icache_bsize		= 128,
>     497			.dcache_bsize		= 128,
>     498			.num_pmcs		= 6,
>     499			.pmc_type		= PPC_PMC_IBM,
>     500			.oprofile_cpu_type	= "ppc64/power9",
>     501			.oprofile_type		= PPC_OPROFILE_INVALID,
>     502			.cpu_setup		= __setup_cpu_power9,
>     503			.cpu_restore		= __restore_cpu_power9,
>     504			.machine_check_early	= __machine_check_early_realmode_p9,
>     505			.platform		= "power9",
>     506		},
>     507		{	/* Power9 DD 2.1 */
>     508			.pvr_mask		= 0xffffefff,
>     509			.pvr_value		= 0x004e0201,
>     510			.cpu_name		= "POWER9 (raw)",
>     511			.cpu_features		= CPU_FTRS_POWER9_DD2_1,
>     512			.cpu_user_features	= COMMON_USER_POWER9,
>     513			.cpu_user_features2	= COMMON_USER2_POWER9,
>     514			.mmu_features		= MMU_FTRS_POWER9,
>     515			.icache_bsize		= 128,
>     516			.dcache_bsize		= 128,
>     517			.num_pmcs		= 6,
>     518			.pmc_type		= PPC_PMC_IBM,
>     519			.oprofile_cpu_type	= "ppc64/power9",
>     520			.oprofile_type		= PPC_OPROFILE_INVALID,
>     521			.cpu_setup		= __setup_cpu_power9,
>     522			.cpu_restore		= __restore_cpu_power9,
>     523			.machine_check_early	= __machine_check_early_realmode_p9,
>     524			.platform		= "power9",
>     525		},
>     526		{	/* Power9 DD2.2 or later */
>     527			.pvr_mask		= 0xffff0000,
>     528			.pvr_value		= 0x004e0000,
>     529			.cpu_name		= "POWER9 (raw)",
>     530			.cpu_features		= CPU_FTRS_POWER9_DD2_2,
>     531			.cpu_user_features	= COMMON_USER_POWER9,
>     532			.cpu_user_features2	= COMMON_USER2_POWER9,
>     533			.mmu_features		= MMU_FTRS_POWER9,
>     534			.icache_bsize		= 128,
>     535			.dcache_bsize		= 128,
>     536			.num_pmcs		= 6,
>     537			.pmc_type		= PPC_PMC_IBM,
>     538			.oprofile_cpu_type	= "ppc64/power9",
>     539			.oprofile_type		= PPC_OPROFILE_INVALID,
>     540			.cpu_setup		= __setup_cpu_power9,
>     541			.cpu_restore		= __restore_cpu_power9,
>     542			.machine_check_early	= __machine_check_early_realmode_p9,
>     543			.platform		= "power9",
>     544		},
>     545		{	/* Power10 */
>     546			.pvr_mask		= 0xffff0000,
>     547			.pvr_value		= 0x00800000,
>     548			.cpu_name		= "POWER10 (raw)",
>     549			.cpu_features		= CPU_FTRS_POWER10,
>     550			.cpu_user_features	= COMMON_USER_POWER10,
>     551			.cpu_user_features2	= COMMON_USER2_POWER10,
>     552			.mmu_features		= MMU_FTRS_POWER10,
>     553			.icache_bsize		= 128,
>     554			.dcache_bsize		= 128,
>     555			.num_pmcs		= 6,
>     556			.pmc_type		= PPC_PMC_IBM,
>     557			.oprofile_cpu_type	= "ppc64/power10",
>     558			.oprofile_type		= PPC_OPROFILE_INVALID,
>     559			.cpu_setup		= __setup_cpu_power10,
>     560			.cpu_restore		= __restore_cpu_power10,
>   > 561			.machine_check_early	= __machine_check_early_realmode_p10,
>     562			.platform		= "power10",
>     563		},
>     564		{	/* Cell Broadband Engine */
>     565			.pvr_mask		= 0xffff0000,
>     566			.pvr_value		= 0x00700000,
>     567			.cpu_name		= "Cell Broadband Engine",
>     568			.cpu_features		= CPU_FTRS_CELL,
>     569			.cpu_user_features	= COMMON_USER_PPC64 |
>     570				PPC_FEATURE_CELL | PPC_FEATURE_HAS_ALTIVEC_COMP |
>     571				PPC_FEATURE_SMT,
>     572			.mmu_features		= MMU_FTRS_CELL,
>     573			.icache_bsize		= 128,
>     574			.dcache_bsize		= 128,
>     575			.num_pmcs		= 4,
>     576			.pmc_type		= PPC_PMC_IBM,
>     577			.oprofile_cpu_type	= "ppc64/cell-be",
>     578			.oprofile_type		= PPC_OPROFILE_CELL,
>     579			.platform		= "ppc-cell-be",
>     580		},
>     581		{	/* PA Semi PA6T */
>     582			.pvr_mask		= 0x7fff0000,
>     583			.pvr_value		= 0x00900000,
>     584			.cpu_name		= "PA6T",
>     585			.cpu_features		= CPU_FTRS_PA6T,
>     586			.cpu_user_features	= COMMON_USER_PA6T,
>     587			.mmu_features		= MMU_FTRS_PA6T,
>     588			.icache_bsize		= 64,
>     589			.dcache_bsize		= 64,
>     590			.num_pmcs		= 6,
>     591			.pmc_type		= PPC_PMC_PA6T,
>     592			.cpu_setup		= __setup_cpu_pa6t,
>     593			.cpu_restore		= __restore_cpu_pa6t,
>     594			.oprofile_cpu_type	= "ppc64/pa6t",
>     595			.oprofile_type		= PPC_OPROFILE_PA6T,
>     596			.platform		= "pa6t",
>     597		},
>     598		{	/* default match */
>     599			.pvr_mask		= 0x00000000,
>     600			.pvr_value		= 0x00000000,
>     601			.cpu_name		= "POWER5 (compatible)",
>     602			.cpu_features		= CPU_FTRS_COMPATIBLE,
>     603			.cpu_user_features	= COMMON_USER_PPC64,
>     604			.mmu_features		= MMU_FTRS_POWER,
>     605			.icache_bsize		= 128,
>     606			.dcache_bsize		= 128,
>     607			.num_pmcs		= 6,
>     608			.pmc_type		= PPC_PMC_IBM,
>     609			.platform		= "power5",
>     610		}
>     611	#endif	/* CONFIG_PPC_BOOK3S_64 */
>     612	
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff mbox series

Patch

diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index b4066354f0730..1e052f53e5dca 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -541,6 +541,25 @@  static struct cpu_spec __initdata cpu_specs[] = {
 		.machine_check_early	= __machine_check_early_realmode_p9,
 		.platform		= "power9",
 	},
+	{	/* Power10 */
+		.pvr_mask		= 0xffff0000,
+		.pvr_value		= 0x00800000,
+		.cpu_name		= "POWER10 (raw)",
+		.cpu_features		= CPU_FTRS_POWER10,
+		.cpu_user_features	= COMMON_USER_POWER10,
+		.cpu_user_features2	= COMMON_USER2_POWER10,
+		.mmu_features		= MMU_FTRS_POWER10,
+		.icache_bsize		= 128,
+		.dcache_bsize		= 128,
+		.num_pmcs		= 6,
+		.pmc_type		= PPC_PMC_IBM,
+		.oprofile_cpu_type	= "ppc64/power10",
+		.oprofile_type		= PPC_OPROFILE_INVALID,
+		.cpu_setup		= __setup_cpu_power10,
+		.cpu_restore		= __restore_cpu_power10,
+		.machine_check_early	= __machine_check_early_realmode_p10,
+		.platform		= "power10",
+	},
 	{	/* Cell Broadband Engine */
 		.pvr_mask		= 0xffff0000,
 		.pvr_value		= 0x00700000,