powerpc: Drop support for pre-POWER4 cpus
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 10 Jul 2014 02:29:18 +0000 (12:29 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 28 Jul 2014 04:09:23 +0000 (14:09 +1000)
We inadvertently broke power3 support back in 3.4 with commit
f5339277eb8d "powerpc: Remove FW_FEATURE ISERIES from arch code".
No one noticed until at least 3.9.

By then we'd also broken it with the optimised memcpy, copy_to/from_user
and clear_user routines. We don't want to add any more complexity to
those just to support ancient cpus, so it seems like it's a good time to
drop support for power3 and earlier.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/cputable.h
arch/powerpc/kernel/cputable.c

index 0fdd7eece6d91a3183a5857967ad910998d33c09..4b132cf48a4f433c82ad3abacf3d998c15cc8ea3 100644 (file)
@@ -400,11 +400,6 @@ extern const char *powerpc_base_platform;
 #define CPU_FTRS_GENERIC_32    (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN)
 
 /* 64-bit CPUs */
-#define CPU_FTRS_POWER3        (CPU_FTR_USE_TB | \
-           CPU_FTR_IABR | CPU_FTR_PPC_LE)
-#define CPU_FTRS_RS64  (CPU_FTR_USE_TB | \
-           CPU_FTR_IABR | \
-           CPU_FTR_MMCRA | CPU_FTR_CTRL)
 #define CPU_FTRS_POWER4        (CPU_FTR_USE_TB | CPU_FTR_LWSYNC | \
            CPU_FTR_PPCAS_ARCH_V2 | CPU_FTR_CTRL | \
            CPU_FTR_MMCRA | CPU_FTR_CP_USE_DCBTZ | \
@@ -467,10 +462,9 @@ extern const char *powerpc_base_platform;
 #define CPU_FTRS_POSSIBLE      (CPU_FTRS_E6500 | CPU_FTRS_E5500 | CPU_FTRS_A2)
 #else
 #define CPU_FTRS_POSSIBLE      \
-           (CPU_FTRS_POWER3 | CPU_FTRS_RS64 | CPU_FTRS_POWER4 |        \
-           CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | CPU_FTRS_POWER6 |       \
-           CPU_FTRS_POWER7 | CPU_FTRS_POWER8E | CPU_FTRS_POWER8 |      \
-           CPU_FTRS_CELL | CPU_FTRS_PA6T | CPU_FTR_VSX)
+           (CPU_FTRS_POWER4 | CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | \
+            CPU_FTRS_POWER6 | CPU_FTRS_POWER7 | CPU_FTRS_POWER8E | \
+            CPU_FTRS_POWER8 | CPU_FTRS_CELL | CPU_FTRS_PA6T | CPU_FTR_VSX)
 #endif
 #else
 enum {
@@ -518,9 +512,9 @@ enum {
 #define CPU_FTRS_ALWAYS                (CPU_FTRS_E6500 & CPU_FTRS_E5500 & CPU_FTRS_A2)
 #else
 #define CPU_FTRS_ALWAYS                \
-           (CPU_FTRS_POWER3 & CPU_FTRS_RS64 & CPU_FTRS_POWER4 &        \
-           CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & CPU_FTRS_POWER6 &       \
-           CPU_FTRS_POWER7 & CPU_FTRS_CELL & CPU_FTRS_PA6T & CPU_FTRS_POSSIBLE)
+           (CPU_FTRS_POWER4 & CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & \
+            CPU_FTRS_POWER6 & CPU_FTRS_POWER7 & CPU_FTRS_CELL & \
+            CPU_FTRS_PA6T & CPU_FTRS_POSSIBLE)
 #endif
 #else
 enum {
index 0c157642c2a140a5be7cf26d677f5fae2fe05816..4fb0bb2ac8850b52c924459dc8bd157492acb294 100644 (file)
@@ -123,96 +123,6 @@ extern void __restore_cpu_e6500(void);
 
 static struct cpu_spec __initdata cpu_specs[] = {
 #ifdef CONFIG_PPC_BOOK3S_64
-       {       /* Power3 */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00400000,
-               .cpu_name               = "POWER3 (630)",
-               .cpu_features           = CPU_FTRS_POWER3,
-               .cpu_user_features      = COMMON_USER_PPC64|PPC_FEATURE_PPC_LE,
-               .mmu_features           = MMU_FTR_HPTE_TABLE,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .pmc_type               = PPC_PMC_IBM,
-               .oprofile_cpu_type      = "ppc64/power3",
-               .oprofile_type          = PPC_OPROFILE_RS64,
-               .platform               = "power3",
-       },
-       {       /* Power3+ */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00410000,
-               .cpu_name               = "POWER3 (630+)",
-               .cpu_features           = CPU_FTRS_POWER3,
-               .cpu_user_features      = COMMON_USER_PPC64|PPC_FEATURE_PPC_LE,
-               .mmu_features           = MMU_FTR_HPTE_TABLE,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .pmc_type               = PPC_PMC_IBM,
-               .oprofile_cpu_type      = "ppc64/power3",
-               .oprofile_type          = PPC_OPROFILE_RS64,
-               .platform               = "power3",
-       },
-       {       /* Northstar */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00330000,
-               .cpu_name               = "RS64-II (northstar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .mmu_features           = MMU_FTR_HPTE_TABLE,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .pmc_type               = PPC_PMC_IBM,
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_type          = PPC_OPROFILE_RS64,
-               .platform               = "rs64",
-       },
-       {       /* Pulsar */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00340000,
-               .cpu_name               = "RS64-III (pulsar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .mmu_features           = MMU_FTR_HPTE_TABLE,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .pmc_type               = PPC_PMC_IBM,
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_type          = PPC_OPROFILE_RS64,
-               .platform               = "rs64",
-       },
-       {       /* I-star */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00360000,
-               .cpu_name               = "RS64-III (icestar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .mmu_features           = MMU_FTR_HPTE_TABLE,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .pmc_type               = PPC_PMC_IBM,
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_type          = PPC_OPROFILE_RS64,
-               .platform               = "rs64",
-       },
-       {       /* S-star */
-               .pvr_mask               = 0xffff0000,
-               .pvr_value              = 0x00370000,
-               .cpu_name               = "RS64-IV (sstar)",
-               .cpu_features           = CPU_FTRS_RS64,
-               .cpu_user_features      = COMMON_USER_PPC64,
-               .mmu_features           = MMU_FTR_HPTE_TABLE,
-               .icache_bsize           = 128,
-               .dcache_bsize           = 128,
-               .num_pmcs               = 8,
-               .pmc_type               = PPC_PMC_IBM,
-               .oprofile_cpu_type      = "ppc64/rs64",
-               .oprofile_type          = PPC_OPROFILE_RS64,
-               .platform               = "rs64",
-       },
        {       /* Power4 */
                .pvr_mask               = 0xffff0000,
                .pvr_value              = 0x00350000,