Hi,

I would like to get rid of even more unused CPUs, so we end up with only
armish, zaurus (armv5) and armv7.  This diff removes ARM9E, but I also
have diffs prepared to get rid of ARM10 and ARM11.

ok?

Patrick

diff --git sys/arch/arm/arm/cpu.c sys/arch/arm/arm/cpu.c
index a3fe271..6fa6bc3 100644
--- sys/arch/arm/arm/cpu.c
+++ sys/arch/arm/arm/cpu.c
@@ -84,8 +84,6 @@ cpu_attach(struct device *dv)
 
 enum cpu_class {
        CPU_CLASS_NONE,
-       CPU_CLASS_ARM9ES,
-       CPU_CLASS_ARM9EJS,
        CPU_CLASS_ARM10E,
        CPU_CLASS_XSCALE,
        CPU_CLASS_ARM11J,
@@ -147,15 +145,6 @@ struct cpuidtab {
 };
 
 const struct cpuidtab cpuids[] = {
-       { CPU_ID_ARM926EJS,     CPU_CLASS_ARM9EJS,      "ARM926EJ-S",
-         generic_steppings },
-       { CPU_ID_ARM946ES,      CPU_CLASS_ARM9ES,       "ARM946E-S",
-         generic_steppings },
-       { CPU_ID_ARM966ES,      CPU_CLASS_ARM9ES,       "ARM966E-S",
-         generic_steppings },
-       { CPU_ID_ARM966ESR1,    CPU_CLASS_ARM9ES,       "ARM966E-S",
-         generic_steppings },
-
        { CPU_ID_ARM1020E,      CPU_CLASS_ARM10E,       "ARM1020E",
          generic_steppings },
        { CPU_ID_ARM1022ES,     CPU_CLASS_ARM10E,       "ARM1022E-S",
@@ -255,8 +244,6 @@ struct cpu_classtab {
 
 const struct cpu_classtab cpu_classes[] = {
        { "unknown",    NULL },                 /* CPU_CLASS_NONE */
-       { "ARM9E-S",    "CPU_ARM9E" },          /* CPU_CLASS_ARM9ES */
-       { "ARM9EJ-S",   "CPU_ARM9E" },          /* CPU_CLASS_ARM9EJS */
        { "ARM10E",     "CPU_ARM10" },          /* CPU_CLASS_ARM10E */
        { "XScale",     "CPU_XSCALE_..." },     /* CPU_CLASS_XSCALE */
        { "ARM11J",     "CPU_ARM11" },          /* CPU_CLASS_ARM11J */
@@ -323,8 +310,6 @@ identify_arm_cpu(struct device *dv, struct cpu_info *ci)
        printf("%s:", dv->dv_xname);
 
        switch (cpu_class) {
-       case CPU_CLASS_ARM9ES:
-       case CPU_CLASS_ARM9EJS:
        case CPU_CLASS_ARM10E:
        case CPU_CLASS_XSCALE:
        case CPU_CLASS_ARM11J:
@@ -376,10 +361,6 @@ identify_arm_cpu(struct device *dv, struct cpu_info *ci)
  skip_pcache:
 
        switch (cpu_class) {
-#ifdef CPU_ARM9E
-       case CPU_CLASS_ARM9ES:
-       case CPU_CLASS_ARM9EJS:
-#endif
 #ifdef CPU_ARM10
        case CPU_CLASS_ARM10E:
 #endif
diff --git sys/arch/arm/arm/cpufunc.c sys/arch/arm/arm/cpufunc.c
index b301e13..435be3a 100644
--- sys/arch/arm/arm/cpufunc.c
+++ sys/arch/arm/arm/cpufunc.c
@@ -87,7 +87,7 @@ int   arm_dcache_align_mask;
 /* 1 == use cpu_sleep(), 0 == don't */
 int cpu_do_powersave;
 
-#if defined(CPU_ARM9E) || defined(CPU_ARM10)
+#if defined(CPU_ARM10)
 struct cpu_functions armv5_ec_cpufuncs = {
        /* CPU functions */
 
@@ -143,7 +143,7 @@ struct cpu_functions armv5_ec_cpufuncs = {
        arm10_context_switch,           /* context_switch       */
        arm9e_setup                     /* cpu setup            */
 };
-#endif /* CPU_ARM9E || CPU_ARM10 */
+#endif /* CPU_ARM10 */
 
 
 #ifdef CPU_ARM10
@@ -383,7 +383,7 @@ struct cpu_functions cpufuncs;
 u_int cputype;
 u_int cpu_reset_needs_v4_MMU_disable;  /* flag used in locore.s */
 
-#if defined(CPU_ARM9E) || defined(CPU_ARM10) || defined(CPU_ARM11) || \
+#if defined(CPU_ARM10) || defined(CPU_ARM11) || \
     defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_PXA2X0)
 static void get_cachetype_cp15 (void);
 
@@ -461,7 +461,7 @@ get_cachetype_cp15()
  out:
        arm_dcache_align_mask = arm_dcache_align - 1;
 }
-#endif /* ARM7TDMI || ARM9 || XSCALE */
+#endif /* ARM7TDMI || XSCALE */
 
 #ifdef CPU_ARMv7
 void arm_get_cachetype_cp15v7 (void);
@@ -627,16 +627,14 @@ set_cpufuncs()
         * CPU type where we want to use it by default, then we set it.
         */
 
-#if defined(CPU_ARM9E) || defined(CPU_ARM10)
-       if (cputype == CPU_ID_ARM926EJS || cputype == CPU_ID_ARM1026EJS) {
+#ifdef CPU_ARM10
+       if (cputype == CPU_ID_ARM1026EJS) {
                cpufuncs = armv5_ec_cpufuncs;
                cpu_reset_needs_v4_MMU_disable = 1;     /* V4 or higher */
                get_cachetype_cp15();
                pmap_pte_init_generic();
                return 0;
        }
-#endif /* CPU_ARM9E || CPU_ARM10 */
-#ifdef CPU_ARM10
        if (/* cputype == CPU_ID_ARM1020T || */
            cputype == CPU_ID_ARM1020E) {
                /*
@@ -764,7 +762,7 @@ set_cpufuncs()
  * CPU Setup code
  */
 
-#if defined(CPU_ARM9E) || defined(CPU_ARM10)
+#if defined(CPU_ARM10)
 void
 arm9e_setup()
 {
@@ -797,9 +795,7 @@ arm9e_setup()
        /* And again. */
        cpu_idcache_wbinv_all();
 }
-#endif /* CPU_ARM9E || CPU_ARM10 */
 
-#if defined(CPU_ARM10)
 void
 arm10_setup()
 {
diff --git sys/arch/arm/conf/files.arm sys/arch/arm/conf/files.arm
index 5258a09..f021384 100644
--- sys/arch/arm/conf/files.arm
+++ sys/arch/arm/conf/files.arm
@@ -39,12 +39,12 @@ file        arch/arm/arm/bcopyinout.S
 file   arch/arm/arm/copystr.S
 file   arch/arm/arm/cpufunc.c
 file   arch/arm/arm/cpufunc_asm.S
-file   arch/arm/arm/cpufunc_asm_arm10.S        cpu_arm9e | cpu_arm10
-file   arch/arm/arm/cpufunc_asm_armv4.S        cpu_arm9e | cpu_arm10 |
+file   arch/arm/arm/cpufunc_asm_arm10.S        cpu_arm10
+file   arch/arm/arm/cpufunc_asm_armv4.S        cpu_arm10 |
                                                        cpu_xscale_80321 |
                                                        cpu_xscale_pxa2x0
 file   arch/arm/arm/cpufunc_asm_armv5.S        cpu_arm10
-file   arch/arm/arm/cpufunc_asm_armv5_ec.S     cpu_arm9e | cpu_arm10
+file   arch/arm/arm/cpufunc_asm_armv5_ec.S     cpu_arm10
 file   arch/arm/arm/cpufunc_asm_armv7.S        cpu_armv7
 file   arch/arm/arm/cpufunc_asm_xscale.S       cpu_xscale_80321 |
                                                        cpu_xscale_pxa2x0
diff --git sys/arch/arm/include/armreg.h sys/arch/arm/include/armreg.h
index a6ae5c5..9703932 100644
--- sys/arch/arm/include/armreg.h
+++ sys/arch/arm/include/armreg.h
@@ -176,10 +176,6 @@
 #define CPU_ID_ARM740T4K       0x41817400 /* XXX no MMU, 4KB cache */
 
 /* Post-ARM7 CPUs */
-#define CPU_ID_ARM926EJS       0x41069260
-#define CPU_ID_ARM946ES                0x41049460 /* XXX no MMU */
-#define CPU_ID_ARM966ES                0x41049660 /* XXX no MMU */
-#define CPU_ID_ARM966ESR1      0x41059660 /* XXX no MMU */
 #define CPU_ID_ARM1020E                0x4115a200 /* (AKA arm10 rev 1) */
 #define CPU_ID_ARM1022ES       0x4105a220
 #define CPU_ID_ARM1026EJS      0x4106a260
diff --git sys/arch/arm/include/cpuconf.h sys/arch/arm/include/cpuconf.h
index fa6f663..34b40f8 100644
--- sys/arch/arm/include/cpuconf.h
+++ sys/arch/arm/include/cpuconf.h
@@ -48,7 +48,7 @@
 /*
  * Determine which ARM architecture versions are configured.
  */
-#if (defined(CPU_ARM9E) || defined(CPU_ARM10) ||                       \
+#if (defined(CPU_ARM10) || \
      defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_PXA2X0))
 #define        ARM_ARCH_5      1
 #else
@@ -79,7 +79,7 @@
  *                             protection is not used, TEX/AP is used instead.
  */
 
-#if (defined(CPU_ARM9E) || defined(CPU_ARM10) || \
+#if (defined(CPU_ARM10) || \
      defined(CPU_ARM11) || defined(CPU_ARMv7) )
 #define        ARM_MMU_GENERIC         1
 #else
diff --git sys/arch/arm/include/cpufunc.h sys/arch/arm/include/cpufunc.h
index 394a94a..e95a958 100644
--- sys/arch/arm/include/cpufunc.h
+++ sys/arch/arm/include/cpufunc.h
@@ -213,7 +213,7 @@ u_int       cpufunc_dfar            (void);
 u_int  cpufunc_ifsr            (void);
 u_int  cpufunc_ifar            (void);
 
-#if defined(CPU_ARM9E) || defined(CPU_ARM10)
+#if defined(CPU_ARM10)
 void   arm10_tlb_flushID_SE    (u_int);
 void   arm10_tlb_flushI_SE     (u_int);
 
@@ -221,9 +221,7 @@ void        arm10_context_switch    (u_int);
 
 void   arm9e_setup             (void);
 void   arm10_setup             (void);
-#endif
 
-#if defined(CPU_ARM9E) || defined (CPU_ARM10)
 void   armv5_ec_setttb                 (u_int);
 
 void   armv5_ec_icache_sync_all        (void);
@@ -314,7 +312,7 @@ extern unsigned armv7_dcache_index_inc;
 #endif
 
 
-#if defined(CPU_ARM9E) || defined(CPU_ARM10) || \
+#if defined(CPU_ARM10) || \
     defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_PXA2X0)
 
 void   armv4_tlb_flushID       (void);

Reply via email to