svn commit: r336454 - in head/sys: arm/arm arm/include conf
Michal Meloun
mmel at FreeBSD.org
Wed Jul 18 10:33:09 UTC 2018
Author: mmel
Date: Wed Jul 18 10:33:07 2018
New Revision: 336454
URL: https://svnweb.freebsd.org/changeset/base/336454
Log:
Remove the dead code from ARM cpufunc_* files.
The elf trampoline was never been supported for ARMv6 and ARMv7 and was
disconnected from kernel build many months ago.
MFC after: 2 weeks
Deleted:
head/sys/arm/arm/cpufunc_asm_arm11.S
head/sys/arm/arm/cpufunc_asm_armv6.S
Modified:
head/sys/arm/arm/cpufunc_asm.S
head/sys/arm/arm/cpufunc_asm_armv7.S
head/sys/arm/include/cpufunc.h
head/sys/conf/Makefile.arm
head/sys/conf/files.arm
Modified: head/sys/arm/arm/cpufunc_asm.S
==============================================================================
--- head/sys/arm/arm/cpufunc_asm.S Wed Jul 18 10:23:30 2018 (r336453)
+++ head/sys/arm/arm/cpufunc_asm.S Wed Jul 18 10:33:07 2018 (r336454)
@@ -134,26 +134,6 @@ END(cpufunc_control)
/* Random odd functions */
-/*
- * Function to get the offset of a stored program counter from the
- * instruction doing the store. This offset is defined to be the same
- * for all STRs and STMs on a given implementation. Code based on
- * section 2.4.3 of the ARM ARM (2nd Ed.), with modifications to work
- * in 26-bit modes as well.
- */
-ENTRY(get_pc_str_offset)
- mov ip, sp
- stmfd sp!, {fp, ip, lr, pc}
- sub fp, ip, #4
- sub sp, sp, #4
- mov r1, pc /* R1 = addr of following STR */
- mov r0, r0
- str pc, [sp] /* [SP] = . + offset */
- ldr r0, [sp]
- sub r0, r0, r1
- ldmdb fp, {fp, sp, pc}
-END(get_pc_str_offset)
-
/* Allocate and lock a cacheline for the specified address. */
#define CPWAIT_BRANCH \
Modified: head/sys/arm/arm/cpufunc_asm_armv7.S
==============================================================================
--- head/sys/arm/arm/cpufunc_asm_armv7.S Wed Jul 18 10:23:30 2018 (r336453)
+++ head/sys/arm/arm/cpufunc_asm_armv7.S Wed Jul 18 10:33:07 2018 (r336454)
@@ -37,91 +37,8 @@ __FBSDID("$FreeBSD$");
.cpu cortex-a8
-#ifdef ELF_TRAMPOLINE
-.Lcoherency_level:
- .word _C_LABEL(arm_cache_loc)
-.Lcache_type:
- .word _C_LABEL(arm_cache_type)
-.Lway_mask:
- .word 0x3ff
-.Lmax_index:
- .word 0x7fff
-
-/* Based on algorithm from ARM Architecture Reference Manual */
-ENTRY(armv7_dcache_wbinv_all)
- stmdb sp!, {r4, r5, r6, r7, r8, r9}
-
- /* Get cache level */
- ldr r0, .Lcoherency_level
- ldr r3, [r0]
- cmp r3, #0
- beq Finished
- /* For each cache level */
- mov r8, #0
-Loop1:
- /* Get cache type for given level */
- mov r2, r8, lsl #2
- add r2, r2, r2
- ldr r0, .Lcache_type
- ldr r1, [r0, r2]
-
- /* Get line size */
- and r2, r1, #7
- add r2, r2, #4
-
- /* Get number of ways */
- ldr r4, .Lway_mask
- ands r4, r4, r1, lsr #3
- clz r5, r4
-
- /* Get max index */
- ldr r7, .Lmax_index
- ands r7, r7, r1, lsr #13
-Loop2:
- mov r9, r4
-Loop3:
- mov r6, r8, lsl #1
- orr r6, r6, r9, lsl r5
- orr r6, r6, r7, lsl r2
-
- /* Clean and invalidate data cache by way/index */
- mcr CP15_DCCISW(r6)
- subs r9, r9, #1
- bge Loop3
- subs r7, r7, #1
- bge Loop2
-Skip:
- add r8, r8, #1
- cmp r3, r8
- bne Loop1
-Finished:
- dsb
- ldmia sp!, {r4, r5, r6, r7, r8, r9}
- RET
-END(armv7_dcache_wbinv_all)
-
-ENTRY(armv7_idcache_wbinv_all)
- stmdb sp!, {lr}
- bl armv7_dcache_wbinv_all
-#ifdef SMP
- mcr CP15_ICIALLUIS
-#else
- mcr CP15_ICIALLU
-#endif
- dsb
- isb
- ldmia sp!, {lr}
- RET
-END(armv7_idcache_wbinv_all)
-#endif
-
ENTRY(armv7_cpu_sleep)
dsb /* data synchronization barrier */
wfi /* wait for interrupt */
RET
END(armv7_cpu_sleep)
-
-ENTRY(armv7_drain_writebuf)
- dsb
- RET
-END(armv7_drain_writebuf)
Modified: head/sys/arm/include/cpufunc.h
==============================================================================
--- head/sys/arm/include/cpufunc.h Wed Jul 18 10:23:30 2018 (r336453)
+++ head/sys/arm/include/cpufunc.h Wed Jul 18 10:33:07 2018 (r336454)
@@ -275,14 +275,9 @@ void sheeva_l2cache_wb_range (vm_offset_t, vm_size_t)
void sheeva_l2cache_wbinv_all (void);
#endif
-#if defined(CPU_MV_PJ4B)
-void armv6_idcache_wbinv_all (void);
-#endif
#if defined(CPU_CORTEXA) || defined(CPU_MV_PJ4B) || defined(CPU_KRAIT)
-void armv7_idcache_wbinv_all (void);
void armv7_cpu_sleep (int);
void armv7_setup (void);
-void armv7_drain_writebuf (void);
void cortexa_setup (void);
#endif
@@ -292,8 +287,6 @@ void pj4bv7_setup (void);
#endif
#if defined(CPU_ARM1176)
-void arm11_drain_writebuf (void);
-
void arm11x6_setup (void);
void arm11x6_sleep (int); /* no ref. for errata */
#endif
@@ -457,12 +450,6 @@ intr_restore(register_t s)
void set_stackptr (u_int mode, u_int address);
u_int get_stackptr (u_int mode);
-
-/*
- * Miscellany
- */
-
-int get_pc_str_offset (void);
/*
* CPU functions from locore.S
Modified: head/sys/conf/Makefile.arm
==============================================================================
--- head/sys/conf/Makefile.arm Wed Jul 18 10:23:30 2018 (r336453)
+++ head/sys/conf/Makefile.arm Wed Jul 18 10:33:07 2018 (r336454)
@@ -76,9 +76,7 @@ FILES_CPU_FUNC = \
$S/$M/$M/cpufunc_asm_arm9.S \
$S/$M/$M/cpufunc_asm_xscale.S $S/$M/$M/cpufunc_asm.S \
$S/$M/$M/cpufunc_asm_xscale_c3.S $S/$M/$M/cpufunc_asm_armv5_ec.S \
- $S/$M/$M/cpufunc_asm_fa526.S $S/$M/$M/cpufunc_asm_sheeva.S \
- $S/$M/$M/cpufunc_asm_pj4b.S $S/$M/$M/cpufunc_asm_armv6.S \
- $S/$M/$M/cpufunc_asm_armv7.S
+ $S/$M/$M/cpufunc_asm_fa526.S $S/$M/$M/cpufunc_asm_sheeva.S
.if ${MACHINE_ARCH:Marmv[67]*} == "" && defined(KERNPHYSADDR)
KERNEL_EXTRA=trampoline
Modified: head/sys/conf/files.arm
==============================================================================
--- head/sys/conf/files.arm Wed Jul 18 10:23:30 2018 (r336453)
+++ head/sys/conf/files.arm Wed Jul 18 10:33:07 2018 (r336454)
@@ -31,11 +31,9 @@ arm/arm/copystr.S standard
arm/arm/cpufunc.c standard
arm/arm/cpufunc_asm.S standard
arm/arm/cpufunc_asm_arm9.S optional cpu_arm9 | cpu_arm9e
-arm/arm/cpufunc_asm_arm11.S optional cpu_arm1176
arm/arm/cpufunc_asm_arm11x6.S optional cpu_arm1176
arm/arm/cpufunc_asm_armv4.S optional cpu_arm9 | cpu_arm9e | cpu_fa526 | cpu_xscale_pxa2x0 | cpu_xscale_81342
arm/arm/cpufunc_asm_armv5_ec.S optional cpu_arm9e
-arm/arm/cpufunc_asm_armv6.S optional cpu_arm1176
arm/arm/cpufunc_asm_armv7.S optional cpu_cortexa | cpu_krait | cpu_mv_pj4b
arm/arm/cpufunc_asm_fa526.S optional cpu_fa526
arm/arm/cpufunc_asm_pj4b.S optional cpu_mv_pj4b
More information about the svn-src-all
mailing list