+++ /dev/null
-From 42042ec9d22c38fcd636299af50f269449860d92 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 17 Aug 2020 06:26:18 +0530
-Subject: powerpc: Add POWER10 raw mode cputable entry
-
-From: Madhavan Srinivasan <maddy@linux.ibm.com>
-
-[ Upstream commit 327da008e65a25b8206b36b7fc0c9e4edbb36a58 ]
-
-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 fields. 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.
-
-Fixes: a3ea40d5c736 ("powerpc: Add POWER10 architected mode")
-Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
-[mpe: Reorder vs cleanup patch and add Fixes tag]
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Link: https://lore.kernel.org/r/20200817005618.3305028-2-maddy@linux.ibm.com
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/powerpc/kernel/cputable.c | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
-index b4066354f0730..bb0c7f43a8283 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);
-@@ -541,6 +542,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,
---
-2.25.1
-