On Fri, Mar 18, 2016 at 04:43:08PM +0100, Patrick Wildt wrote:
> Hi,
> 
> next up on the list is the StrongARM and IXP12x0.
> 
> This diff removes most, but keeps the SA1100 headers,
> which are still used by zaurus.
> 
> Patrick

Here is the diff I had:

The only difference seems to be you've gone with

#elif ARM_MMU_GENERIC == 1

and I kept the != 0

#elif (ARM_MMU_GENERIC) != 0

Index: arm/bus_space_asm_generic.S
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/bus_space_asm_generic.S,v
retrieving revision 1.2
diff -u -p -r1.2 bus_space_asm_generic.S
--- arm/bus_space_asm_generic.S 8 May 2009 02:57:31 -0000       1.2
+++ arm/bus_space_asm_generic.S 18 Mar 2016 22:17:19 -0000
@@ -50,7 +50,7 @@ ENTRY(generic_bs_r_1)
        ldrb    r0, [r1, r2]
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_r_2)
        ldrh    r0, [r1, r2]
        mov     pc, lr
@@ -68,7 +68,7 @@ ENTRY(generic_bs_w_1)
        strb    r3, [r1, r2]
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_w_2)
        strh    r3, [r1, r2]
        mov     pc, lr
@@ -96,7 +96,7 @@ ENTRY(generic_bs_rm_1)
 
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_rm_2)
        add     r0, r1, r2
        mov     r1, r3
@@ -144,7 +144,7 @@ ENTRY(generic_bs_wm_1)
 
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_wm_2)
        add     r0, r1, r2
        mov     r1, r3
@@ -192,7 +192,7 @@ ENTRY(generic_bs_rr_1)
 
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_rr_2)
        add     r0, r1, r2
        mov     r1, r3
@@ -240,7 +240,7 @@ ENTRY(generic_bs_wr_1)
 
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_wr_2)
        add     r0, r1, r2
        mov     r1, r3
@@ -287,7 +287,7 @@ ENTRY(generic_bs_sr_1)
 
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_sr_2)
        add     r0, r1, r2
        mov     r1, r3
@@ -319,7 +319,7 @@ ENTRY(generic_bs_sr_4)
  * copy region
  */
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(generic_armv4_bs_c_2)
        add     r0, r1, r2
        ldr     r2, [sp, #0]
Index: arm/cpu.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/cpu.c,v
retrieving revision 1.24
diff -u -p -r1.24 cpu.c
--- arm/cpu.c   18 Mar 2016 13:16:02 -0000      1.24
+++ arm/cpu.c   18 Mar 2016 22:17:20 -0000
@@ -87,7 +87,6 @@ enum cpu_class {
        CPU_CLASS_ARM9ES,
        CPU_CLASS_ARM9EJS,
        CPU_CLASS_ARM10E,
-       CPU_CLASS_SA1,
        CPU_CLASS_XSCALE,
        CPU_CLASS_ARM11J,
        CPU_CLASS_ARMv7
@@ -100,36 +99,6 @@ static const char * const generic_steppi
        "rev 12",       "rev 13",       "rev 14",       "rev 15"
 };
 
-static const char * const sa110_steppings[16] = {
-       "rev 0",        "step J",       "step K",       "step S",
-       "step T",       "rev 5",        "rev 6",        "rev 7",
-       "rev 8",        "rev 9",        "rev 10",       "rev 11",
-       "rev 12",       "rev 13",       "rev 14",       "rev 15"
-};
-
-static const char * const sa1100_steppings[16] = {
-       "rev 0",        "step B",       "step C",       "rev 3",
-       "rev 4",        "rev 5",        "rev 6",        "rev 7",
-       "step D",       "step E",       "rev 10"        "step G",
-       "rev 12",       "rev 13",       "rev 14",       "rev 15"
-};
-
-static const char * const sa1110_steppings[16] = {
-       "step A-0",     "rev 1",        "rev 2",        "rev 3",
-       "step B-0",     "step B-1",     "step B-2",     "step B-3",
-       "step B-4",     "step B-5",     "rev 10",       "rev 11",
-       "rev 12",       "rev 13",       "rev 14",       "rev 15"
-};
-
-static const char * const ixp12x0_steppings[16] = {
-       "(IXP1200 step A)",             "(IXP1200 step B)",
-       "rev 2",                        "(IXP1200 step C)",
-       "(IXP1200 step D)",             "(IXP1240/1250 step A)",
-       "(IXP1240 step B)",             "(IXP1250 step B)",
-       "rev 8",        "rev 9",        "rev 10",       "rev 11",
-       "rev 12",       "rev 13",       "rev 14",       "rev 15"
-};
-
 static const char * const xscale_steppings[16] = {
        "step A-0",     "step A-1",     "step B-0",     "step C-0",
        "step D-0",     "rev 5",        "rev 6",        "rev 7",
@@ -206,16 +175,6 @@ const struct cpuidtab cpuids[] = {
        { CPU_ID_ARM1022ES,     CPU_CLASS_ARM10E,       "ARM1022E-S",
          generic_steppings },
 
-       { CPU_ID_SA110,         CPU_CLASS_SA1,          "SA-110",
-         sa110_steppings },
-       { CPU_ID_SA1100,        CPU_CLASS_SA1,          "SA-1100",
-         sa1100_steppings },
-       { CPU_ID_SA1110,        CPU_CLASS_SA1,          "SA-1110",
-         sa1110_steppings },
-
-       { CPU_ID_IXP1200,       CPU_CLASS_SA1,          "IXP1200",
-         ixp12x0_steppings },
-
        { CPU_ID_80200,         CPU_CLASS_XSCALE,       "i80200",
          xscale_steppings },
 
@@ -323,7 +282,6 @@ const struct cpu_classtab cpu_classes[] 
        { "ARM9E-S",    "CPU_ARM9E" },          /* CPU_CLASS_ARM9ES */
        { "ARM9EJ-S",   "CPU_ARM9E" },          /* CPU_CLASS_ARM9EJS */
        { "ARM10E",     "CPU_ARM10" },          /* CPU_CLASS_ARM10E */
-       { "SA-1",       "CPU_SA1100" },         /* CPU_CLASS_SA1 */
        { "XScale",     "CPU_XSCALE_..." },     /* CPU_CLASS_XSCALE */
        { "ARM11J",     "CPU_ARM11" },          /* CPU_CLASS_ARM11J */
        { "ARMv7",      "CPU_ARMv7" }           /* CPU_CLASS_ARMv7 */
@@ -392,7 +350,6 @@ identify_arm_cpu(struct device *dv, stru
        case CPU_CLASS_ARM9ES:
        case CPU_CLASS_ARM9EJS:
        case CPU_CLASS_ARM10E:
-       case CPU_CLASS_SA1:
        case CPU_CLASS_XSCALE:
        case CPU_CLASS_ARM11J:
        case CPU_CLASS_ARMv7:
@@ -457,9 +414,6 @@ identify_arm_cpu(struct device *dv, stru
        case CPU_CLASS_ARMv7:
 #endif
 
-#if defined(CPU_SA1100) || defined(CPU_SA1110) || defined(CPU_IXP12X0)
-       case CPU_CLASS_SA1:
-#endif
 #if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
     defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425)
        case CPU_CLASS_XSCALE:
Index: arm/cpufunc.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/cpufunc.c,v
retrieving revision 1.30
diff -u -p -r1.30 cpufunc.c
--- arm/cpufunc.c       18 Mar 2016 13:16:02 -0000      1.30
+++ arm/cpufunc.c       18 Mar 2016 22:17:20 -0000
@@ -327,121 +327,6 @@ struct cpu_functions armv7_cpufuncs = {
 };
 #endif /* CPU_ARMv7 */
 
-
-#if defined(CPU_SA1100) || defined(CPU_SA1110)
-struct cpu_functions sa11x0_cpufuncs = {
-       /* CPU functions */
-
-       cpufunc_id,                     /* id                   */
-       cpufunc_nullop,                 /* cpwait               */
-
-       /* MMU functions */
-
-       cpufunc_control,                /* control              */
-       cpufunc_domains,                /* domain               */
-       sa1_setttb,                     /* setttb               */
-       cpufunc_dfsr,                   /* dfsr                 */
-       cpufunc_dfar,                   /* dfar                 */
-       cpufunc_ifsr,                   /* ifsr                 */
-       cpufunc_ifar,                   /* ifar                 */
-
-       /* TLB functions */
-
-       armv4_tlb_flushID,              /* tlb_flushID          */
-       sa1_tlb_flushID_SE,             /* tlb_flushID_SE       */
-       armv4_tlb_flushI,               /* tlb_flushI           */
-       (void *)armv4_tlb_flushI,       /* tlb_flushI_SE        */
-       armv4_tlb_flushD,               /* tlb_flushD           */
-       armv4_tlb_flushD_SE,            /* tlb_flushD_SE        */
-
-       /* Cache operations */
-
-       sa1_cache_syncI,                /* icache_sync_all      */
-       sa1_cache_syncI_rng,            /* icache_sync_range    */
-
-       sa1_cache_purgeD,               /* dcache_wbinv_all     */
-       sa1_cache_purgeD_rng,           /* dcache_wbinv_range   */
-/*XXX*/        sa1_cache_purgeD_rng,           /* dcache_inv_range     */
-       sa1_cache_cleanD_rng,           /* dcache_wb_range      */
-
-       sa1_cache_purgeID,              /* idcache_wbinv_all    */
-       sa1_cache_purgeID_rng,          /* idcache_wbinv_range  */
-
-       cpufunc_nullop,                 /* sdcache_wbinv_all    */
-       (void *)cpufunc_nullop,         /* sdcache_wbinv_range  */
-       (void *)cpufunc_nullop,         /* sdcache_inv_range    */
-       (void *)cpufunc_nullop,         /* sdcache_wb_range     */
-
-       /* Other functions */
-
-       sa11x0_drain_readbuf,           /* flush_prefetchbuf    */
-       armv4_drain_writebuf,           /* drain_writebuf       */
-
-       sa11x0_cpu_sleep,               /* sleep                */
-
-       /* Soft functions */
-       sa11x0_context_switch,          /* context_switch       */
-       sa11x0_setup                    /* cpu setup            */
-};
-#endif /* CPU_SA1100 || CPU_SA1110 */
-
-#ifdef CPU_IXP12X0
-struct cpu_functions ixp12x0_cpufuncs = {
-       /* CPU functions */
-
-       cpufunc_id,                     /* id                   */
-       cpufunc_nullop,                 /* cpwait               */
-
-       /* MMU functions */
-
-       cpufunc_control,                /* control              */
-       cpufunc_domains,                /* domain               */
-       sa1_setttb,                     /* setttb               */
-       cpufunc_dfsr,                   /* dfsr                 */
-       cpufunc_dfar,                   /* dfar                 */
-       cpufunc_ifsr,                   /* ifsr                 */
-       cpufunc_ifar,                   /* ifar                 */
-
-       /* TLB functions */
-
-       armv4_tlb_flushID,              /* tlb_flushID          */
-       sa1_tlb_flushID_SE,             /* tlb_flushID_SE       */
-       armv4_tlb_flushI,               /* tlb_flushI           */
-       (void *)armv4_tlb_flushI,       /* tlb_flushI_SE        */
-       armv4_tlb_flushD,               /* tlb_flushD           */
-       armv4_tlb_flushD_SE,            /* tlb_flushD_SE        */
-
-       /* Cache operations */
-
-       sa1_cache_syncI,                /* icache_sync_all      */
-       sa1_cache_syncI_rng,            /* icache_sync_range    */
-
-       sa1_cache_purgeD,               /* dcache_wbinv_all     */
-       sa1_cache_purgeD_rng,           /* dcache_wbinv_range   */
-/*XXX*/        sa1_cache_purgeD_rng,           /* dcache_inv_range     */
-       sa1_cache_cleanD_rng,           /* dcache_wb_range      */
-
-       sa1_cache_purgeID,              /* idcache_wbinv_all    */
-       sa1_cache_purgeID_rng,          /* idcache_wbinv_range  */
-
-       cpufunc_nullop,                 /* sdcache_wbinv_all    */
-       (void *)cpufunc_nullop,         /* sdcache_wbinv_range  */
-       (void *)cpufunc_nullop,         /* sdcache_inv_range    */
-       (void *)cpufunc_nullop,         /* sdcache_wb_range     */
-
-       /* Other functions */
-
-       ixp12x0_drain_readbuf,          /* flush_prefetchbuf    */
-       armv4_drain_writebuf,           /* drain_writebuf       */
-
-       (void *)cpufunc_nullop,         /* sleep                */
-
-       /* Soft functions */
-       ixp12x0_context_switch,         /* context_switch       */
-       ixp12x0_setup                   /* cpu setup            */
-};
-#endif /* CPU_IXP12X0 */
-
 #if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
     defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425)
 struct cpu_functions xscale_cpufuncs = {
@@ -590,58 +475,6 @@ get_cachetype_cp15()
 }
 #endif /* ARM7TDMI || ARM9 || XSCALE */
 
-#if defined(CPU_SA1100) || defined(CPU_SA1110) || defined(CPU_IXP12X0)
-/* Cache information for CPUs without cache type registers. */
-struct cachetab {
-       u_int32_t ct_cpuid;
-       int     ct_pcache_type;
-       int     ct_pcache_unified;
-       int     ct_pdcache_size;
-       int     ct_pdcache_line_size;
-       int     ct_pdcache_ways;
-       int     ct_picache_size;
-       int     ct_picache_line_size;
-       int     ct_picache_ways;
-};
-
-struct cachetab cachetab[] = {
-    /* cpuid,          cache type,       u,  dsiz, ls, wy,  isiz, ls, wy */
-    /* XXX is this type right for SA-1? */
-    { CPU_ID_SA1100,   CPU_CT_CTYPE_WB1, 0,  8192, 32, 32, 16384, 32, 32 },
-    { CPU_ID_SA1110,   CPU_CT_CTYPE_WB1, 0,  8192, 32, 32, 16384, 32, 32 },
-    { CPU_ID_IXP1200,  CPU_CT_CTYPE_WB1, 0, 16384, 32, 32, 16384, 32, 32 }, /* 
XXX */
-    { 0, 0, 0, 0, 0, 0, 0, 0}
-};
-
-static void get_cachetype_table (void);
-
-static void
-get_cachetype_table()
-{
-       int i;
-       u_int32_t cpuid = cpufunc_id();
-
-       for (i = 0; cachetab[i].ct_cpuid != 0; i++) {
-               if (cachetab[i].ct_cpuid == (cpuid & CPU_ID_CPU_MASK)) {
-                       arm_pcache_type = cachetab[i].ct_pcache_type;
-                       arm_pcache_unified = cachetab[i].ct_pcache_unified;
-                       arm_pdcache_size = cachetab[i].ct_pdcache_size;
-                       arm_pdcache_line_size =
-                           cachetab[i].ct_pdcache_line_size;
-                       arm_pdcache_ways = cachetab[i].ct_pdcache_ways;
-                       arm_picache_size = cachetab[i].ct_picache_size;
-                       arm_picache_line_size =
-                           cachetab[i].ct_picache_line_size;
-                       arm_picache_ways = cachetab[i].ct_picache_ways;
-               }
-       }
-       arm_dcache_align = arm_pdcache_line_size;
-
-       arm_dcache_align_mask = arm_dcache_align - 1;
-}
-
-#endif /* SA110 || SA1100 || SA1111 || IXP12X0 */
-
 #ifdef CPU_ARMv7
 void arm_get_cachetype_cp15v7 (void);
 int    arm_dcache_l2_nsets;
@@ -880,41 +713,6 @@ set_cpufuncs()
                return 0;
        }
 #endif /* CPU_ARMv7 */
-#ifdef CPU_SA1100
-       if (cputype == CPU_ID_SA1100) {
-               cpufuncs = sa11x0_cpufuncs;
-               cpu_reset_needs_v4_MMU_disable = 1;     /* SA needs it  */
-               get_cachetype_table();
-               pmap_pte_init_sa1();
-
-               /* Use powersave on this CPU. */
-               cpu_do_powersave = 1;
-
-               return 0;
-       }
-#endif /* CPU_SA1100 */
-#ifdef CPU_SA1110
-       if (cputype == CPU_ID_SA1110) {
-               cpufuncs = sa11x0_cpufuncs;
-               cpu_reset_needs_v4_MMU_disable = 1;     /* SA needs it  */
-               get_cachetype_table();
-               pmap_pte_init_sa1();
-
-               /* Use powersave on this CPU. */
-               cpu_do_powersave = 1;
-
-               return 0;
-       }
-#endif /* CPU_SA1110 */
-#ifdef CPU_IXP12X0
-       if (cputype == CPU_ID_IXP1200) {
-               cpufuncs = ixp12x0_cpufuncs;
-               cpu_reset_needs_v4_MMU_disable = 1;
-               get_cachetype_table();
-               pmap_pte_init_sa1();
-               return 0;
-       }
-#endif  /* CPU_IXP12X0 */
 #ifdef CPU_XSCALE_80200
        if (cputype == CPU_ID_80200) {
                int rev = cpufunc_id() & CPU_ID_REVISION_MASK;
@@ -1167,65 +965,6 @@ armv7_setup()
        cpu_idcache_wbinv_all();
 }
 #endif /* CPU_ARMv7 */
-
-#if defined(CPU_SA1100) || defined(CPU_SA1110)
-void
-sa11x0_setup()
-{
-       int cpuctrl, cpuctrlmask;
-
-       cpuctrl = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_32BP_ENABLE
-                | CPU_CONTROL_32BD_ENABLE | CPU_CONTROL_SYST_ENABLE
-                | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_DC_ENABLE
-                | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_LABT_ENABLE
-                | CPU_CONTROL_AFLT_ENABLE;
-       cpuctrlmask = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_32BP_ENABLE
-                | CPU_CONTROL_32BD_ENABLE | CPU_CONTROL_SYST_ENABLE
-                | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_DC_ENABLE
-                | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_ROM_ENABLE
-                | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_AFLT_ENABLE
-                | CPU_CONTROL_LABT_ENABLE | CPU_CONTROL_BPRD_ENABLE
-                | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC;
-
-       if (vector_page == ARM_VECTORS_HIGH)
-               cpuctrl |= CPU_CONTROL_VECRELOC;
-
-       /* Clear out the cache */
-       cpu_idcache_wbinv_all();
-
-       /* Set the control register */
-       cpu_control(0xffffffff, cpuctrl);
-}
-#endif /* CPU_SA1100 || CPU_SA1110 */
-
-#if defined(CPU_IXP12X0)
-void
-ixp12x0_setup()
-{
-       int cpuctrl, cpuctrlmask;
-
-
-       cpuctrl = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_DC_ENABLE
-                | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_SYST_ENABLE
-                | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_AFLT_ENABLE;
-       cpuctrlmask = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_AFLT_ENABLE
-                | CPU_CONTROL_DC_ENABLE | CPU_CONTROL_WBUF_ENABLE
-                | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_SYST_ENABLE
-                | CPU_CONTROL_ROM_ENABLE | CPU_CONTROL_IC_ENABLE
-                | CPU_CONTROL_VECRELOC;
-
-       if (vector_page == ARM_VECTORS_HIGH)
-               cpuctrl |= CPU_CONTROL_VECRELOC;
-
-       /* Clear out the cache */
-       cpu_idcache_wbinv_all();
-
-       /* Set the control register */
-       curcpu()->ci_ctrl = cpuctrl;
-       /* cpu_control(0xffffffff, cpuctrl); */
-       cpu_control(cpuctrlmask, cpuctrl);
-}
-#endif /* CPU_IXP12X0 */
 
 #if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
     defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425)
Index: arm/pmap.c
===================================================================
RCS file: /cvs/src/sys/arch/arm/arm/pmap.c,v
retrieving revision 1.60
diff -u -p -r1.60 pmap.c
--- arm/pmap.c  18 Mar 2016 13:16:02 -0000      1.60
+++ arm/pmap.c  18 Mar 2016 22:17:21 -0000
@@ -3045,7 +3045,7 @@ pmap_reference(pmap_t pm)
  * StrongARM accesses to non-cached pages are non-burst making writing
  * _any_ bulk data very slow.
  */
-#if (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0
+#if (ARM_MMU_GENERIC) != 0
 void
 pmap_zero_page_generic(struct vm_page *pg)
 {
@@ -3069,7 +3069,7 @@ pmap_zero_page_generic(struct vm_page *p
        bzero_page(cdstp);
        cpu_dcache_wbinv_range(cdstp, PAGE_SIZE);
 }
-#endif /* (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 */
+#endif /* (ARM_MMU_GENERIC) != 0 */
 
 #if ARM_MMU_XSCALE == 1
 void
@@ -3105,7 +3105,7 @@ pmap_zero_page_xscale(struct vm_page *pg
  * hook points. The same comment regarding cachability as in
  * pmap_zero_page also applies here.
  */
-#if (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0
+#if (ARM_MMU_GENERIC) != 0
 void
 pmap_copy_page_generic(struct vm_page *src_pg, struct vm_page *dst_pg)
 {
@@ -3144,7 +3144,7 @@ pmap_copy_page_generic(struct vm_page *s
        cpu_dcache_inv_range(csrcp, PAGE_SIZE);
        cpu_dcache_wbinv_range(cdstp, PAGE_SIZE);
 }
-#endif /* (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 */
+#endif /* (ARM_MMU_GENERIC) != 0 */
 
 #if ARM_MMU_XSCALE == 1
 void
@@ -4380,7 +4380,7 @@ pt_entry_t        pte_l2_s_proto;
 void           (*pmap_copy_page_func)(struct vm_page *, struct vm_page *);
 void           (*pmap_zero_page_func)(struct vm_page *);
 
-#if (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0
+#if (ARM_MMU_GENERIC) != 0
 void
 pmap_pte_init_generic(void)
 {
@@ -4438,7 +4438,7 @@ pmap_pte_init_generic(void)
        pmap_copy_page_func = pmap_copy_page_generic;
        pmap_zero_page_func = pmap_zero_page_generic;
 }
-#endif /* (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 */
+#endif /* (ARM_MMU_GENERIC) != 0 */
 
 #if defined(CPU_ARM10)
 void
@@ -4545,27 +4545,6 @@ pmap_pte_init_armv7(void)
        pmap_needs_pte_sync = 1;
 }
 #endif /* CPU_ARMv7 */
-
-#if ARM_MMU_SA1 == 1
-void
-pmap_pte_init_sa1(void)
-{
-
-       /*
-        * The StrongARM SA-1 cache does not have a write-through
-        * mode.  So, do the generic initialization, then reset
-        * the page table cache mode to B=1,C=1, and note that
-        * the PTEs need to be sync'd.
-        */
-       pmap_pte_init_generic();
-
-       pte_l1_s_cache_mode_pt = L1_S_B|L1_S_C;
-       pte_l2_l_cache_mode_pt = L2_B|L2_C;
-       pte_l2_s_cache_mode_pt = L2_B|L2_C;
-
-       pmap_needs_pte_sync = 1;
-}
-#endif /* ARM_MMU_SA1 == 1*/
 
 #if ARM_MMU_XSCALE == 1
 #if (ARM_NMMUS > 1)
Index: armv7/bus_space_asm_armv7.S
===================================================================
RCS file: /cvs/src/sys/arch/arm/armv7/bus_space_asm_armv7.S,v
retrieving revision 1.3
diff -u -p -r1.3 bus_space_asm_armv7.S
--- armv7/bus_space_asm_armv7.S 2 Jun 2015 02:30:16 -0000       1.3
+++ armv7/bus_space_asm_armv7.S 18 Mar 2016 22:17:21 -0000
@@ -51,7 +51,7 @@ ENTRY(armv7_bs_r_1)
        ldrb    r0, [r1, r2]
        mov     pc, lr
 
-#if (ARM_ARCH_4 + ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
+#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
 ENTRY(armv7_bs_r_2)
        dsb     sy
        ldrh    r0, [r1, r2]
Index: conf/files.arm
===================================================================
RCS file: /cvs/src/sys/arch/arm/conf/files.arm,v
retrieving revision 1.30
diff -u -p -r1.30 files.arm
--- conf/files.arm      18 Mar 2016 13:16:02 -0000      1.30
+++ conf/files.arm      18 Mar 2016 22:17:21 -0000
@@ -41,10 +41,6 @@ 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 |
-                                                       cpu_sa110 |
-                                                       cpu_sa1100 |
-                                                       cpu_sa1110 |
-                                                       cpu_ixp12x0 |
                                                        cpu_xscale_80200 |
                                                        cpu_xscale_80321 |
                                                        cpu_xscale_ixp425 |
@@ -52,15 +48,10 @@ file        arch/arm/arm/cpufunc_asm_armv4.S        cp
 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_armv7.S        cpu_armv7
-file   arch/arm/arm/cpufunc_asm_sa1.S          cpu_sa110 | cpu_sa1100 |
-                                                       cpu_sa1110 |
-                                                       cpu_ixp12x0
-file   arch/arm/arm/cpufunc_asm_sa11x0.S       cpu_sa1100 | cpu_sa1110
 file   arch/arm/arm/cpufunc_asm_xscale.S       cpu_xscale_80200 |
                                                        cpu_xscale_80321 |
                                                        cpu_xscale_ixp425 |
                                                        cpu_xscale_pxa2x0
-file   arch/arm/arm/cpufunc_asm_ixp12x0.S      cpu_ixp12x0
 file   arch/arm/arm/process_machdep.c
 file   arch/arm/arm/sig_machdep.c
 file   arch/arm/arm/sigcode.S
Index: include/armreg.h
===================================================================
RCS file: /cvs/src/sys/arch/arm/include/armreg.h,v
retrieving revision 1.21
diff -u -p -r1.21 armreg.h
--- include/armreg.h    18 Mar 2016 13:16:02 -0000      1.21
+++ include/armreg.h    18 Mar 2016 22:17:21 -0000
@@ -185,10 +185,6 @@
 #define CPU_ID_ARM1026EJS      0x4106a260
 #define CPU_ID_ARM1136JS       0x4107b360
 #define CPU_ID_ARM1136JSR1     0x4117b360
-#define CPU_ID_SA110           0x4401a100
-#define CPU_ID_SA1100          0x4401a110
-#define CPU_ID_SA1110          0x6901b110
-#define CPU_ID_IXP1200         0x6901c120
 #define CPU_ID_80200           0x69052000
 #define CPU_ID_PXA250          0x69052100 /* sans core revision */
 #define CPU_ID_PXA210          0x69052120
Index: include/cpuconf.h
===================================================================
RCS file: /cvs/src/sys/arch/arm/include/cpuconf.h,v
retrieving revision 1.10
diff -u -p -r1.10 cpuconf.h
--- include/cpuconf.h   18 Mar 2016 13:35:25 -0000      1.10
+++ include/cpuconf.h   18 Mar 2016 22:17:21 -0000
@@ -48,13 +48,6 @@
 /*
  * Determine which ARM architecture versions are configured.
  */
-#if (defined(CPU_SA1100) || defined(CPU_SA1110) || \
-     defined(CPU_IXP12X0))
-#define        ARM_ARCH_4      1
-#else
-#define        ARM_ARCH_4      0
-#endif
-
 #if (defined(CPU_ARM9E) || defined(CPU_ARM10) ||                       \
      defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) ||         \
      defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425))
@@ -80,9 +73,6 @@
  *
  *     ARM_MMU_GENERIC         Generic ARM MMU, compatible with ARM6.
  *
- *     ARM_MMU_SA1             StrongARM SA-1 MMU.  Compatible with generic
- *                             ARM MMU, but has no write-through cache mode.
- *
  *     ARM_MMU_XSCALE          XScale MMU.  Compatible with generic ARM
  *                             MMU, but also has several extensions which
  *                             require different PTE layout to use.
@@ -97,13 +87,6 @@
 #define        ARM_MMU_GENERIC         0
 #endif
 
-#if (defined(CPU_SA1100) || defined(CPU_SA1110) ||\
-     defined(CPU_IXP12X0))
-#define        ARM_MMU_SA1             1
-#else
-#define        ARM_MMU_SA1             0
-#endif
-
 #if (defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) ||         \
      defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425))
 #define        ARM_MMU_XSCALE          1
@@ -118,7 +101,7 @@
 #endif
 
 #define        ARM_NMMUS               (ARM_MMU_GENERIC +      \
-                                ARM_MMU_SA1 + ARM_MMU_XSCALE + ARM_MMU_V7)
+                                ARM_MMU_XSCALE + ARM_MMU_V7)
 
 /*
  * Define features that may be present on a subset of CPUs
Index: include/cpufunc.h
===================================================================
RCS file: /cvs/src/sys/arch/arm/include/cpufunc.h,v
retrieving revision 1.18
diff -u -p -r1.18 cpufunc.h
--- include/cpufunc.h   18 Mar 2016 13:16:02 -0000      1.18
+++ include/cpufunc.h   18 Mar 2016 22:17:21 -0000
@@ -213,43 +213,6 @@ u_int      cpufunc_dfar            (void);
 u_int  cpufunc_ifsr            (void);
 u_int  cpufunc_ifar            (void);
 
-#if defined(CPU_SA1100) || defined(CPU_SA1110)
-void   sa11x0_drain_readbuf    (void);
-
-void   sa11x0_context_switch   (u_int);
-void   sa11x0_cpu_sleep        (int mode);
- 
-void   sa11x0_setup            (void);
-#endif
-
-#if defined(CPU_SA1100) || defined(CPU_SA1110)
-void   sa1_setttb              (u_int ttb);
-
-void   sa1_tlb_flushID_SE      (u_int va);
-
-void   sa1_cache_flushID       (void);
-void   sa1_cache_flushI        (void);
-void   sa1_cache_flushD        (void);
-void   sa1_cache_flushD_SE     (u_int entry);
-
-void   sa1_cache_cleanID       (void);
-void   sa1_cache_cleanD        (void);
-void   sa1_cache_cleanD_E      (u_int entry);
-
-void   sa1_cache_purgeID       (void);
-void   sa1_cache_purgeID_E     (u_int entry);
-void   sa1_cache_purgeD        (void);
-void   sa1_cache_purgeD_E      (u_int entry);
-
-void   sa1_cache_syncI         (void);
-void   sa1_cache_cleanID_rng   (vaddr_t start, vsize_t end);
-void   sa1_cache_cleanD_rng    (vaddr_t start, vsize_t end);
-void   sa1_cache_purgeID_rng   (vaddr_t start, vsize_t end);
-void   sa1_cache_purgeD_rng    (vaddr_t start, vsize_t end);
-void   sa1_cache_syncI_rng     (vaddr_t start, vsize_t end);
-
-#endif
-
 #if defined(CPU_ARM9E) || defined(CPU_ARM10)
 void   arm10_tlb_flushID_SE    (u_int);
 void   arm10_tlb_flushI_SE     (u_int);
@@ -352,7 +315,6 @@ extern unsigned armv7_dcache_index_inc;
 
 
 #if defined(CPU_ARM9E) || defined(CPU_ARM10) || \
-    defined(CPU_SA1100) || defined(CPU_SA1110) || \
     defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
     defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425)
 
@@ -362,12 +324,6 @@ void       armv4_tlb_flushD        (void);
 void   armv4_tlb_flushD_SE     (u_int va);
 
 void   armv4_drain_writebuf    (void);
-#endif
-
-#if defined(CPU_IXP12X0)
-void   ixp12x0_drain_readbuf   (void);
-void   ixp12x0_context_switch  (u_int);
-void   ixp12x0_setup           (void);
 #endif
 
 #if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
Index: include/pmap.h
===================================================================
RCS file: /cvs/src/sys/arch/arm/include/pmap.h,v
retrieving revision 1.37
diff -u -p -r1.37 pmap.h
--- include/pmap.h      18 Mar 2016 13:16:02 -0000      1.37
+++ include/pmap.h      18 Mar 2016 22:17:21 -0000
@@ -366,7 +366,7 @@ do {                                                        
                \
 
 /************************* ARM MMU configuration *****************************/
 
-#if (ARM_MMU_GENERIC + ARM_MMU_SA1 + ARM_MMU_V7) != 0
+#if (ARM_MMU_GENERIC + ARM_MMU_V7) != 0
 void   pmap_copy_page_generic(struct vm_page *, struct vm_page *);
 void   pmap_zero_page_generic(struct vm_page *);
 
@@ -380,11 +380,7 @@ void       pmap_pte_init_arm11(void);
 #if defined(CPU_ARMv7)
 void   pmap_pte_init_armv7(void);
 #endif /* CPU_ARMv7 */
-#endif /* (ARM_MMU_GENERIC + ARM_MMU_SA1 + ARM_MMU_V7) != 0 */
-
-#if ARM_MMU_SA1 == 1
-void   pmap_pte_init_sa1(void);
-#endif /* ARM_MMU_SA1 == 1 */
+#endif /* (ARM_MMU_GENERIC + ARM_MMU_V7) != 0 */
 
 #if ARM_MMU_V7 == 1
 void   pmap_pte_init_v7(void);
@@ -591,7 +587,7 @@ extern void (*pmap_zero_page_func)(struc
 
 #define        pmap_copy_page(s, d)    (*pmap_copy_page_func)((s), (d))
 #define        pmap_zero_page(d)       (*pmap_zero_page_func)((d))
-#elif (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0
+#elif (ARM_MMU_GENERIC) != 0
 #define        L1_S_PROT_UR            L1_S_PROT_UR_generic
 #define        L1_S_PROT_UW            L1_S_PROT_UW_generic
 #define        L1_S_PROT_KR            L1_S_PROT_KR_generic

Reply via email to