On Tue, Mar 22, 2016 at 12:22:55PM +0100, Patrick Wildt wrote:
> Hi,
> 
> the last one to remove would be ARM11.

I forgot to mention that this diff is based on the ARM10 diff.

> 
> ok?
> 
> Patrick
> 
> diff --git sys/arch/arm/arm/bus_space_asm_generic.S 
> sys/arch/arm/arm/bus_space_asm_generic.S
> index 66727a2..fa8c0df 100644
> --- sys/arch/arm/arm/bus_space_asm_generic.S
> +++ sys/arch/arm/arm/bus_space_asm_generic.S
> @@ -50,7 +50,7 @@ ENTRY(generic_bs_r_1)
>       ldrb    r0, [r1, r2]
>       mov     pc, lr
>  
> -#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + 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_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + 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_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + 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_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + 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_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + 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_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + 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_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + 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_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
> +#if (ARM_ARCH_5 + ARM_ARCH_7) > 0
>  ENTRY(generic_armv4_bs_c_2)
>       add     r0, r1, r2
>       ldr     r2, [sp, #0]
> diff --git sys/arch/arm/arm/cpu.c sys/arch/arm/arm/cpu.c
> index df572c1..4711123 100644
> --- sys/arch/arm/arm/cpu.c
> +++ sys/arch/arm/arm/cpu.c
> @@ -85,7 +85,6 @@ cpu_attach(struct device *dv)
>  enum cpu_class {
>       CPU_CLASS_NONE,
>       CPU_CLASS_XSCALE,
> -     CPU_CLASS_ARM11J,
>       CPU_CLASS_ARMv7
>  };
>  
> @@ -173,11 +172,6 @@ const struct cpuidtab cpuids[] = {
>       { CPU_ID_PXA210C,       CPU_CLASS_XSCALE,       "PXA210",
>         pxa2x0_steppings },
>  
> -     { CPU_ID_ARM1136JS,     CPU_CLASS_ARM11J,       "ARM1136J-S",
> -       generic_steppings },
> -     { CPU_ID_ARM1136JSR1,   CPU_CLASS_ARM11J,       "ARM1136J-S R1",
> -       generic_steppings },
> -
>       { CPU_ID_CORTEX_A5,     CPU_CLASS_ARMv7,        "ARM Cortex A5",
>         generic_steppings },
>       { CPU_ID_CORTEX_A7,     CPU_CLASS_ARMv7,        "ARM Cortex A7",
> @@ -239,7 +233,6 @@ struct cpu_classtab {
>  const struct cpu_classtab cpu_classes[] = {
>       { "unknown",    NULL },                 /* CPU_CLASS_NONE */
>       { "XScale",     "CPU_XSCALE_..." },     /* CPU_CLASS_XSCALE */
> -     { "ARM11J",     "CPU_ARM11" },          /* CPU_CLASS_ARM11J */
>       { "ARMv7",      "CPU_ARMv7" }           /* CPU_CLASS_ARMv7 */
>  
>  };
> @@ -304,7 +297,6 @@ identify_arm_cpu(struct device *dv, struct cpu_info *ci)
>  
>       switch (cpu_class) {
>       case CPU_CLASS_XSCALE:
> -     case CPU_CLASS_ARM11J:
>       case CPU_CLASS_ARMv7:
>               if ((ci->ci_ctrl & CPU_CONTROL_DC_ENABLE) == 0)
>                       printf(" DC disabled");
> @@ -353,9 +345,6 @@ identify_arm_cpu(struct device *dv, struct cpu_info *ci)
>   skip_pcache:
>  
>       switch (cpu_class) {
> -#ifdef CPU_ARM11
> -     case CPU_CLASS_ARM11J:
> -#endif
>  #ifdef CPU_ARMv7
>       case CPU_CLASS_ARMv7:
>  #endif
> diff --git sys/arch/arm/arm/cpufunc.c sys/arch/arm/arm/cpufunc.c
> index c981f40..622f4f8 100644
> --- sys/arch/arm/arm/cpufunc.c
> +++ sys/arch/arm/arm/cpufunc.c
> @@ -87,63 +87,6 @@ int        arm_dcache_align_mask;
>  /* 1 == use cpu_sleep(), 0 == don't */
>  int cpu_do_powersave;
>  
> -#ifdef CPU_ARM11
> -struct cpu_functions arm11_cpufuncs = {
> -     /* CPU functions */
> -
> -     cpufunc_id,                     /* id                           */
> -     cpufunc_nullop,                 /* cpwait                       */
> -
> -     /* MMU functions */
> -
> -     cpufunc_control,                /* control                      */
> -     cpufunc_domains,                /* Domain                       */
> -     arm11_setttb,                   /* Setttb                       */
> -     cpufunc_dfsr,                   /* dfsr                 */
> -     cpufunc_dfar,                   /* dfar                 */
> -     cpufunc_ifsr,                   /* ifsr                 */
> -     cpufunc_ifar,                   /* ifar                 */
> -
> -     /* TLB functions */
> -
> -     arm11_tlb_flushID,              /* tlb_flushID                  */
> -     arm11_tlb_flushID_SE,           /* tlb_flushID_SE               */
> -     arm11_tlb_flushI,               /* tlb_flushI                   */
> -     arm11_tlb_flushI_SE,            /* tlb_flushI_SE                */
> -     arm11_tlb_flushD,               /* tlb_flushD                   */
> -     arm11_tlb_flushD_SE,            /* tlb_flushD_SE                */
> -
> -     /* Cache operations */
> -
> -     armv5_icache_sync_all,          /* icache_sync_all      */
> -     armv5_icache_sync_range,        /* icache_sync_range    */
> -
> -     armv5_dcache_wbinv_all,         /* dcache_wbinv_all     */
> -     armv5_dcache_wbinv_range,       /* dcache_wbinv_range   */
> -/*XXX*/      armv5_dcache_wbinv_range,       /* dcache_inv_range     */
> -     armv5_dcache_wb_range,          /* dcache_wb_range      */
> -
> -     armv5_idcache_wbinv_all,        /* idcache_wbinv_all    */
> -     armv5_idcache_wbinv_range,      /* 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 */
> -
> -     cpufunc_nullop,                 /* flush_prefetchbuf    */
> -     arm11_drain_writebuf,           /* drain_writebuf       */
> -
> -     arm11_cpu_sleep,                /* sleep (wait for interrupt) */
> -
> -     /* Soft functions */
> -     arm11_context_switch,           /* context_switch       */
> -     arm11_setup                     /* cpu setup            */
> -};
> -#endif /* CPU_ARM11 */
> -
>  #ifdef CPU_ARMv7
>  struct cpu_functions armv7_cpufuncs = {
>       /* CPU functions */
> @@ -267,8 +210,7 @@ struct cpu_functions cpufuncs;
>  u_int cputype;
>  u_int cpu_reset_needs_v4_MMU_disable;        /* flag used in locore.s */
>  
> -#if defined(CPU_ARM11) || \
> -    defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_PXA2X0)
> +#if defined(CPU_XSCALE_80321) || defined(CPU_XSCALE_PXA2X0)
>  static void get_cachetype_cp15 (void);
>  
>  /* Additional cache information local to this file.  Log2 of some of the
> @@ -511,25 +453,6 @@ set_cpufuncs()
>        * CPU type where we want to use it by default, then we set it.
>        */
>  
> -#ifdef CPU_ARM11
> -     if (cputype == CPU_ID_ARM1136JS ||
> -         cputype == CPU_ID_ARM1136JSR1 || 1) {
> -             cpufuncs = arm11_cpufuncs;
> -             cpu_reset_needs_v4_MMU_disable = 1;     /* V4 or higher */
> -             get_cachetype_cp15();
> -             arm11_dcache_sets_inc = 1U << arm_dcache_l2_linesize;
> -             arm11_dcache_sets_max =
> -                 (1U << (arm_dcache_l2_linesize + arm_dcache_l2_nsets)) -
> -                 arm11_dcache_sets_inc;
> -             arm11_dcache_index_inc = 1U << (32 - arm_dcache_l2_assoc);
> -             arm11_dcache_index_max = 0U - arm11_dcache_index_inc;
> -             pmap_pte_init_arm11();
> -
> -             /* Use powersave on this CPU. */
> -             cpu_do_powersave = 1;
> -             return 0;
> -     }
> -#endif /* CPU_ARM11 */
>  #ifdef CPU_ARMv7
>       if ((cputype & CPU_ID_CORTEX_A5_MASK) == CPU_ID_CORTEX_A5 ||
>           (cputype & CPU_ID_CORTEX_A7_MASK) == CPU_ID_CORTEX_A7 ||
> @@ -619,36 +542,6 @@ set_cpufuncs()
>   * CPU Setup code
>   */
>  
> -#ifdef CPU_ARM11
> -void
> -arm11_setup()
> -{
> -     int cpuctrl, cpuctrlmask;
> -
> -     cpuctrl = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_SYST_ENABLE
> -         | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_DC_ENABLE
> -         | CPU_CONTROL_AFLT_ENABLE /* | CPU_CONTROL_BPRD_ENABLE */;
> -     cpuctrlmask = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_SYST_ENABLE
> -         | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_DC_ENABLE
> -         | CPU_CONTROL_ROM_ENABLE | CPU_CONTROL_BPRD_ENABLE
> -         | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_AFLT_ENABLE
> -         | CPU_CONTROL_ROUNDROBIN | CPU_CONTROL_CPCLK;
> -
> -     /* Clear out the cache */
> -     cpu_idcache_wbinv_all();
> -
> -     /* Now really make sure they are clean.  */
> -     asm volatile ("mcr\tp15, 0, r0, c7, c7, 0" : : );
> -
> -     /* Set the control register */
> -     curcpu()->ci_ctrl = cpuctrl;
> -     cpu_control(0xffffffff, cpuctrl);
> -
> -     /* And again. */
> -     cpu_idcache_wbinv_all();
> -}
> -#endif       /* CPU_ARM11 */
> -
>  #ifdef CPU_ARMv7
>  void
>  armv7_setup()
> diff --git sys/arch/arm/arm/pmap.c sys/arch/arm/arm/pmap.c
> index 4aac0ed..1e56461 100644
> --- sys/arch/arm/arm/pmap.c
> +++ sys/arch/arm/arm/pmap.c
> @@ -4440,29 +4440,6 @@ pmap_pte_init_generic(void)
>  }
>  #endif /* ARM_MMU_GENERIC == 1 */
>  
> -#if defined(CPU_ARM11)
> -void
> -pmap_pte_init_arm11(void)
> -{
> -
> -     /*
> -      * XXX 
> -      * ARM11 is compatible with generic, but we want to use
> -      * write-through caching for now.
> -      */
> -     pmap_pte_init_generic();
> -
> -     pte_l1_s_cache_mode = L1_S_B | L1_S_C;
> -     pte_l2_l_cache_mode = L2_B | L2_C;
> -     pte_l2_s_cache_mode = L2_B | L2_C;
> -
> -     pte_l1_s_cache_mode_pt = L1_S_C;
> -     pte_l2_l_cache_mode_pt = L2_C;
> -     pte_l2_s_cache_mode_pt = L2_C;
> -
> -}
> -#endif /* CPU_ARM11 */
> -
>  #if defined(CPU_ARMv7)
>  void
>  pmap_pte_init_armv7(void)
> diff --git sys/arch/arm/armv7/bus_space_asm_armv7.S 
> sys/arch/arm/armv7/bus_space_asm_armv7.S
> index bcb468d..6689a8d 100644
> --- sys/arch/arm/armv7/bus_space_asm_armv7.S
> +++ sys/arch/arm/armv7/bus_space_asm_armv7.S
> @@ -51,12 +51,10 @@ ENTRY(armv7_bs_r_1)
>       ldrb    r0, [r1, r2]
>       mov     pc, lr
>  
> -#if (ARM_ARCH_5 + ARM_ARCH_6 + ARM_ARCH_7) > 0
>  ENTRY(armv7_bs_r_2)
>       dsb     sy
>       ldrh    r0, [r1, r2]
>       mov     pc, lr
> -#endif
>  
>  ENTRY(armv7_bs_r_4)
>       dsb     sy
> diff --git sys/arch/arm/include/armreg.h sys/arch/arm/include/armreg.h
> index d194071..980681c 100644
> --- sys/arch/arm/include/armreg.h
> +++ sys/arch/arm/include/armreg.h
> @@ -131,8 +131,6 @@
>  
>  /* Individual CPUs are probably best IDed by everything but the revision. */
>  #define CPU_ID_CPU_MASK              0xfffffff0
> -#define CPU_ID_ARM1136JS     0x4107b360
> -#define CPU_ID_ARM1136JSR1   0x4117b360
>  #define CPU_ID_PXA250                0x69052100 /* sans core revision */
>  #define CPU_ID_PXA210                0x69052120
>  #define CPU_ID_PXA250A               0x69052100 /* 1st version Core */
> diff --git sys/arch/arm/include/cpuconf.h sys/arch/arm/include/cpuconf.h
> index b3de9cd..d9ee6fa 100644
> --- sys/arch/arm/include/cpuconf.h
> +++ sys/arch/arm/include/cpuconf.h
> @@ -54,12 +54,6 @@
>  #define      ARM_ARCH_5      0
>  #endif
>  
> -#if defined(CPU_ARM11)
> -#define ARM_ARCH_6     1
> -#else 
> -#define ARM_ARCH_6     0
> -#endif
> -
>  #if defined(CPU_ARMv7)
>  #define ARM_ARCH_7     1
>  #else 
> @@ -78,7 +72,7 @@
>   *                           protection is not used, TEX/AP is used instead.
>   */
>  
> -#if (defined(CPU_ARM11) || defined(CPU_ARMv7))
> +#if defined(CPU_ARMv7)
>  #define      ARM_MMU_GENERIC         1
>  #else
>  #define      ARM_MMU_GENERIC         0
> diff --git sys/arch/arm/include/cpufunc.h sys/arch/arm/include/cpufunc.h
> index 168b3fa..c42a0bd 100644
> --- sys/arch/arm/include/cpufunc.h
> +++ sys/arch/arm/include/cpufunc.h
> @@ -213,45 +213,6 @@ u_int    cpufunc_dfar            (void);
>  u_int        cpufunc_ifsr            (void);
>  u_int        cpufunc_ifar            (void);
>  
> -#ifdef CPU_ARM11
> -void arm11_setttb            (u_int);
> -
> -void arm11_tlb_flushID_SE    (u_int);
> -void arm11_tlb_flushI_SE     (u_int);
> -
> -void arm11_context_switch    (u_int);
> -
> -void arm11_setup             (void);
> -void arm11_tlb_flushID       (void);
> -void arm11_tlb_flushI        (void);
> -void arm11_tlb_flushD        (void);
> -void arm11_tlb_flushD_SE     (u_int  va);
> -
> -void arm11_drain_writebuf    (void);
> -void arm11_cpu_sleep         (int    mode);
> -#endif
> -
> -
> -#if defined(CPU_ARM11)
> -void armv5_setttb                    (u_int);
> -
> -void armv5_icache_sync_all           (void);
> -void armv5_icache_sync_range         (vaddr_t, vsize_t);
> -
> -void armv5_dcache_wbinv_all          (void);
> -void armv5_dcache_wbinv_range        (vaddr_t, vsize_t);
> -void armv5_dcache_inv_range          (vaddr_t, vsize_t);
> -void armv5_dcache_wb_range           (vaddr_t, vsize_t);
> -
> -void armv5_idcache_wbinv_all         (void);
> -void armv5_idcache_wbinv_range       (vaddr_t, vsize_t);
> -
> -extern unsigned armv5_dcache_sets_max;
> -extern unsigned armv5_dcache_sets_inc;
> -extern unsigned armv5_dcache_index_max;
> -extern unsigned armv5_dcache_index_inc;
> -#endif
> -
>  #ifdef CPU_ARMv7
>  void armv7_setttb            (u_int);
>  
> diff --git sys/arch/arm/include/pmap.h sys/arch/arm/include/pmap.h
> index 0652d15c..3a1ae23 100644
> --- sys/arch/arm/include/pmap.h
> +++ sys/arch/arm/include/pmap.h
> @@ -371,9 +371,6 @@ void      pmap_copy_page_generic(struct vm_page *, struct 
> vm_page *);
>  void pmap_zero_page_generic(struct vm_page *);
>  
>  void pmap_pte_init_generic(void);
> -#if defined(CPU_ARM11)
> -void pmap_pte_init_arm11(void);
> -#endif /* CPU_ARM11 */
>  #if defined(CPU_ARMv7)
>  void pmap_pte_init_armv7(void);
>  #endif /* CPU_ARMv7 */
> 

Reply via email to