svn commit: r368154 - in head/sys: arm/arm arm/include arm/mv conf

Michal Meloun mmel at FreeBSD.org
Sun Nov 29 15:24:02 UTC 2020


Author: mmel
Date: Sun Nov 29 15:24:00 2020
New Revision: 368154
URL: https://svnweb.freebsd.org/changeset/base/368154

Log:
  Remove remaining fragments of code for older already ceased ARM versions.

Deleted:
  head/sys/arm/arm/cpufunc_asm_arm9.S
  head/sys/arm/arm/cpufunc_asm_armv4.S
  head/sys/arm/arm/cpufunc_asm_armv5_ec.S
  head/sys/arm/arm/cpufunc_asm_sheeva.S
  head/sys/arm/mv/std.mv
Modified:
  head/sys/arm/arm/cpufunc.c
  head/sys/arm/include/cpufunc.h
  head/sys/arm/include/md_var.h
  head/sys/conf/files.arm

Modified: head/sys/arm/arm/cpufunc.c
==============================================================================
--- head/sys/arm/arm/cpufunc.c	Sun Nov 29 15:04:39 2020	(r368153)
+++ head/sys/arm/arm/cpufunc.c	Sun Nov 29 15:24:00 2020	(r368154)
@@ -80,9 +80,6 @@ u_int	arm_cache_level;
 u_int	arm_cache_type[14];
 u_int	arm_cache_loc;
 
-#if defined(CPU_ARM9E)
-static void arm10_setup(void);
-#endif
 #ifdef CPU_MV_PJ4B
 static void pj4bv7_setup(void);
 #endif
@@ -93,107 +90,6 @@ static void arm11x6_setup(void);
 static void cortexa_setup(void);
 #endif
 
-#if defined(CPU_ARM9E)
-struct cpu_functions armv5_ec_cpufuncs = {
-	/* CPU functions */
-
-	cpufunc_nullop,			/* cpwait		*/
-
-	/* MMU functions */
-
-	cpufunc_control,		/* control		*/
-	armv5_ec_setttb,		/* Setttb		*/
-
-	/* TLB functions */
-
-	armv4_tlb_flushID,		/* tlb_flushID		*/
-	arm9_tlb_flushID_SE,		/* tlb_flushID_SE	*/
-	armv4_tlb_flushD,		/* tlb_flushD		*/
-	armv4_tlb_flushD_SE,		/* tlb_flushD_SE	*/
-
-	/* Cache operations */
-
-	armv5_ec_icache_sync_range,	/* icache_sync_range	*/
-
-	armv5_ec_dcache_wbinv_all,	/* dcache_wbinv_all	*/
-	armv5_ec_dcache_wbinv_range,	/* dcache_wbinv_range	*/
-	armv5_ec_dcache_inv_range,	/* dcache_inv_range	*/
-	armv5_ec_dcache_wb_range,	/* dcache_wb_range	*/
-
-	armv4_idcache_inv_all,		/* idcache_inv_all	*/
-	armv5_ec_idcache_wbinv_all,	/* idcache_wbinv_all	*/
-	armv5_ec_idcache_wbinv_range,	/* idcache_wbinv_range	*/
-
-	cpufunc_nullop,                 /* l2cache_wbinv_all    */
-	(void *)cpufunc_nullop,         /* l2cache_wbinv_range  */
-      	(void *)cpufunc_nullop,         /* l2cache_inv_range    */
-	(void *)cpufunc_nullop,         /* l2cache_wb_range     */
-	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
-
-	/* Other functions */
-
-	armv4_drain_writebuf,		/* drain_writebuf	*/
-
-	(void *)cpufunc_nullop,		/* sleep		*/
-
-	/* Soft functions */
-
-	arm9_context_switch,		/* context_switch	*/
-
-	arm10_setup			/* cpu setup		*/
-
-};
-
-struct cpu_functions sheeva_cpufuncs = {
-	/* CPU functions */
-
-	cpufunc_nullop,			/* cpwait		*/
-
-	/* MMU functions */
-
-	cpufunc_control,		/* control		*/
-	sheeva_setttb,			/* Setttb		*/
-
-	/* TLB functions */
-
-	armv4_tlb_flushID,		/* tlb_flushID		*/
-	arm9_tlb_flushID_SE,		/* tlb_flushID_SE	*/
-	armv4_tlb_flushD,		/* tlb_flushD		*/
-	armv4_tlb_flushD_SE,		/* tlb_flushD_SE	*/
-
-	/* Cache operations */
-
-	armv5_ec_icache_sync_range,	/* icache_sync_range	*/
-
-	armv5_ec_dcache_wbinv_all,	/* dcache_wbinv_all	*/
-	sheeva_dcache_wbinv_range,	/* dcache_wbinv_range	*/
-	sheeva_dcache_inv_range,	/* dcache_inv_range	*/
-	sheeva_dcache_wb_range,		/* dcache_wb_range	*/
-
-	armv4_idcache_inv_all,		/* idcache_inv_all	*/
-	armv5_ec_idcache_wbinv_all,	/* idcache_wbinv_all	*/
-	sheeva_idcache_wbinv_range,	/* idcache_wbinv_all	*/
-
-	sheeva_l2cache_wbinv_all,	/* l2cache_wbinv_all    */
-	sheeva_l2cache_wbinv_range,	/* l2cache_wbinv_range  */
-	sheeva_l2cache_inv_range,	/* l2cache_inv_range    */
-	sheeva_l2cache_wb_range,	/* l2cache_wb_range     */
-	(void *)cpufunc_nullop,         /* l2cache_drain_writebuf */
-
-	/* Other functions */
-
-	armv4_drain_writebuf,		/* drain_writebuf	*/
-
-	sheeva_cpu_sleep,		/* sleep		*/
-
-	/* Soft functions */
-
-	arm9_context_switch,		/* context_switch	*/
-
-	arm10_setup			/* cpu setup		*/
-};
-#endif /* CPU_ARM9E */
-
 #ifdef CPU_MV_PJ4B
 struct cpu_functions pj4bv7_cpufuncs = {
 	/* Cache operations */
@@ -257,11 +153,6 @@ struct cpu_functions cortexa_cpufuncs = {
 struct cpu_functions cpufuncs;
 u_int cputype;
 
-#if defined (CPU_ARM9E) ||	\
-  defined(CPU_ARM1176) ||	\
-  defined(CPU_MV_PJ4B) ||			\
-  defined(CPU_CORTEXA) || defined(CPU_KRAIT)
-
 static void get_cachetype_cp15(void);
 
 /* Additional cache information local to this file.  Log2 of some of the
@@ -371,7 +262,6 @@ get_cachetype_cp15(void)
 		arm_dcache_align_mask = arm_dcache_align - 1;
 	}
 }
-#endif /* ARM9 || XSCALE */
 
 /*
  * Cannot panic here as we may not have a console yet ...
@@ -383,38 +273,6 @@ set_cpufuncs(void)
 	cputype = cp15_midr_get();
 	cputype &= CPU_ID_CPU_MASK;
 
-#if defined(CPU_ARM9E)
-	if (cputype == CPU_ID_MV88FR131 || cputype == CPU_ID_MV88FR571_VD ||
-	    cputype == CPU_ID_MV88FR571_41) {
-		uint32_t sheeva_ctrl;
-
-		sheeva_ctrl = (MV_DC_STREAM_ENABLE | MV_BTB_DISABLE |
-		    MV_L2_ENABLE);
-		/*
-		 * Workaround for Marvell MV78100 CPU: Cache prefetch
-		 * mechanism may affect the cache coherency validity,
-		 * so it needs to be disabled.
-		 *
-		 * Refer to errata document MV-S501058-00C.pdf (p. 3.1
-		 * L2 Prefetching Mechanism) for details.
-		 */
-		if (cputype == CPU_ID_MV88FR571_VD ||
-		    cputype == CPU_ID_MV88FR571_41)
-			sheeva_ctrl |= MV_L2_PREFETCH_DISABLE;
-
-		sheeva_control_ext(0xffffffff & ~MV_WA_ENABLE, sheeva_ctrl);
-
-		cpufuncs = sheeva_cpufuncs;
-		get_cachetype_cp15();
-		pmap_pte_init_generic();
-		goto out;
-	} else if (cputype == CPU_ID_ARM926EJS) {
-		cpufuncs = armv5_ec_cpufuncs;
-		get_cachetype_cp15();
-		pmap_pte_init_generic();
-		goto out;
-	}
-#endif /* CPU_ARM9E */
 #if defined(CPU_ARM1176)
 	if (cputype == CPU_ID_ARM1176JZS) {
 		cpufuncs = arm1176_cpufuncs;
@@ -466,43 +324,6 @@ out:
  * CPU Setup code
  */
 
-#if defined(CPU_ARM9E)
-static void
-arm10_setup(void)
-{
-	int cpuctrl, cpuctrlmask;
-
-	cpuctrl = CPU_CONTROL_MMU_ENABLE | CPU_CONTROL_SYST_ENABLE
-	    | CPU_CONTROL_IC_ENABLE | CPU_CONTROL_DC_ENABLE
-	    | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_BPRD_ENABLE;
-	cpuctrlmask = CPU_CONTROL_MMU_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_BPRD_ENABLE
-	    | CPU_CONTROL_ROUNDROBIN | CPU_CONTROL_CPCLK;
-
-#ifndef ARM32_DISABLE_ALIGNMENT_FAULTS
-	cpuctrl |= CPU_CONTROL_AFLT_ENABLE;
-#endif
-
-
-	/* Clear out the cache */
-	cpu_idcache_wbinv_all();
-
-	/* Now really make sure they are clean.  */
-	__asm __volatile ("mcr\tp15, 0, r0, c7, c7, 0" : : );
-
-	if (vector_page == ARM_VECTORS_HIGH)
-		cpuctrl |= CPU_CONTROL_VECRELOC;
-
-	/* Set the control register */
-	cpu_control(0xffffffff, cpuctrl);
-
-	/* And again. */
-	cpu_idcache_wbinv_all();
-}
-#endif	/* CPU_ARM9E || CPU_ARM10 */
 
 #if defined(CPU_ARM1176) \
  || defined(CPU_MV_PJ4B) \

Modified: head/sys/arm/include/cpufunc.h
==============================================================================
--- head/sys/arm/include/cpufunc.h	Sun Nov 29 15:04:39 2020	(r368153)
+++ head/sys/arm/include/cpufunc.h	Sun Nov 29 15:24:00 2020	(r368154)
@@ -93,24 +93,7 @@ void	cpufunc_nullop		(void);
 u_int	cpufunc_control		(u_int clear, u_int bic);
 void	cpu_domains		(u_int domains);
 
-#if defined(CPU_ARM9E)
-void	arm9_tlb_flushID_SE	(u_int va);
-void	arm9_context_switch	(void);
 
-u_int	sheeva_control_ext 		(u_int, u_int);
-void	sheeva_cpu_sleep		(int);
-void	sheeva_setttb			(u_int);
-void	sheeva_dcache_wbinv_range	(vm_offset_t, vm_size_t);
-void	sheeva_dcache_inv_range		(vm_offset_t, vm_size_t);
-void	sheeva_dcache_wb_range		(vm_offset_t, vm_size_t);
-void	sheeva_idcache_wbinv_range	(vm_offset_t, vm_size_t);
-
-void	sheeva_l2cache_wbinv_range	(vm_offset_t, vm_size_t);
-void	sheeva_l2cache_inv_range	(vm_offset_t, vm_size_t);
-void	sheeva_l2cache_wb_range		(vm_offset_t, vm_size_t);
-void	sheeva_l2cache_wbinv_all	(void);
-#endif
-
 #if defined(CPU_CORTEXA) || defined(CPU_MV_PJ4B) || defined(CPU_KRAIT)
 void	armv7_cpu_sleep			(int);
 #endif
@@ -122,26 +105,6 @@ void	pj4b_config			(void);
 void    arm11x6_sleep                   (int);  /* no ref. for errata */
 #endif
 
-#if defined(CPU_ARM9E)
-void	armv5_ec_setttb(u_int);
-
-void	armv5_ec_icache_sync_range(vm_offset_t, vm_size_t);
-
-void	armv5_ec_dcache_wbinv_all(void);
-void	armv5_ec_dcache_wbinv_range(vm_offset_t, vm_size_t);
-void	armv5_ec_dcache_inv_range(vm_offset_t, vm_size_t);
-void	armv5_ec_dcache_wb_range(vm_offset_t, vm_size_t);
-
-void	armv5_ec_idcache_wbinv_all(void);
-void	armv5_ec_idcache_wbinv_range(vm_offset_t, vm_size_t);
-
-void	armv4_tlb_flushID	(void);
-void	armv4_tlb_flushD	(void);
-void	armv4_tlb_flushD_SE	(u_int va);
-
-void	armv4_drain_writebuf	(void);
-void	armv4_idcache_inv_all	(void);
-#endif
 
 /*
  * Macros for manipulating CPU interrupts

Modified: head/sys/arm/include/md_var.h
==============================================================================
--- head/sys/arm/include/md_var.h	Sun Nov 29 15:04:39 2020	(r368153)
+++ head/sys/arm/include/md_var.h	Sun Nov 29 15:24:00 2020	(r368154)
@@ -54,14 +54,8 @@ extern int _min_bzero_size;
 
 enum cpu_class {
 	CPU_CLASS_NONE,
-	CPU_CLASS_ARM9TDMI,
-	CPU_CLASS_ARM9ES,
-	CPU_CLASS_ARM9EJS,
-	CPU_CLASS_ARM10E,
-	CPU_CLASS_ARM10EJ,
 	CPU_CLASS_CORTEXA,
 	CPU_CLASS_KRAIT,
-	CPU_CLASS_XSCALE,
 	CPU_CLASS_ARM11J,
 	CPU_CLASS_MARVELL
 };

Modified: head/sys/conf/files.arm
==============================================================================
--- head/sys/conf/files.arm	Sun Nov 29 15:04:39 2020	(r368153)
+++ head/sys/conf/files.arm	Sun Nov 29 15:24:00 2020	(r368154)
@@ -11,13 +11,9 @@ arm/arm/busdma_machdep.c 	standard
 arm/arm/copystr.S		standard
 arm/arm/cpufunc.c		standard
 arm/arm/cpufunc_asm.S		standard
-arm/arm/cpufunc_asm_arm9.S 	optional	cpu_arm9e
 arm/arm/cpufunc_asm_arm11x6.S	optional	cpu_arm1176
-arm/arm/cpufunc_asm_armv4.S 	optional	cpu_arm9e
-arm/arm/cpufunc_asm_armv5_ec.S 	optional	cpu_arm9e
 arm/arm/cpufunc_asm_armv7.S	optional	cpu_cortexa | cpu_krait | cpu_mv_pj4b
 arm/arm/cpufunc_asm_pj4b.S	optional	cpu_mv_pj4b
-arm/arm/cpufunc_asm_sheeva.S 	optional	cpu_arm9e
 arm/arm/cpuinfo.c		standard
 arm/arm/cpu_asm-v6.S		standard
 arm/arm/db_disasm.c		optional	ddb


More information about the svn-src-head mailing list