arm: Garbage collect _arm_memcpy/_arm_bzero.
Remove any attempt to use _arm_memcpy and _arm_bzero. It was used by some xscale platforms to provide functions to use the DMA engine for big zeroing/copying work, but those platforms are long gone, and it's unlikely anything else will use those.
This commit is contained in:
parent
0a0f748641
commit
c1da17a86c
@ -41,11 +41,6 @@
|
||||
#include <machine/asm.h>
|
||||
#include <sys/errno.h>
|
||||
|
||||
.L_arm_memcpy:
|
||||
.word _C_LABEL(_arm_memcpy)
|
||||
.L_min_memcpy_size:
|
||||
.word _C_LABEL(_min_memcpy_size)
|
||||
|
||||
__FBSDID("$FreeBSD$");
|
||||
#include <arm/arm/bcopyinout_xscale.S>
|
||||
|
||||
|
@ -67,28 +67,6 @@ ENTRY(copyin)
|
||||
movcs r0, #EFAULT
|
||||
RETc(cs)
|
||||
|
||||
ldr r3, .L_arm_memcpy
|
||||
ldr r3, [r3]
|
||||
cmp r3, #0
|
||||
beq .Lnormal
|
||||
ldr r3, .L_min_memcpy_size
|
||||
ldr r3, [r3]
|
||||
cmp r2, r3
|
||||
blt .Lnormal
|
||||
stmfd sp!, {r0-r2, r4, lr}
|
||||
mov r3, r0
|
||||
mov r0, r1
|
||||
mov r1, r3
|
||||
mov r3, #2 /* SRC_IS_USER */
|
||||
ldr r4, .L_arm_memcpy
|
||||
mov lr, pc
|
||||
ldr pc, [r4]
|
||||
cmp r0, #0
|
||||
ldmfd sp!, {r0-r2, r4, lr}
|
||||
moveq r0, #0
|
||||
RETeq
|
||||
|
||||
.Lnormal:
|
||||
stmfd sp!, {r10-r11, lr}
|
||||
|
||||
GET_PCB(r10)
|
||||
@ -452,28 +430,6 @@ ENTRY(copyout)
|
||||
movcs r0, #EFAULT
|
||||
RETc(cs)
|
||||
|
||||
ldr r3, .L_arm_memcpy
|
||||
ldr r3, [r3]
|
||||
cmp r3, #0
|
||||
beq .Lnormale
|
||||
ldr r3, .L_min_memcpy_size
|
||||
ldr r3, [r3]
|
||||
cmp r2, r3
|
||||
blt .Lnormale
|
||||
stmfd sp!, {r0-r2, r4, lr}
|
||||
mov r3, r0
|
||||
mov r0, r1
|
||||
mov r1, r3
|
||||
mov r3, #1 /* DST_IS_USER */
|
||||
ldr r4, .L_arm_memcpy
|
||||
mov lr, pc
|
||||
ldr pc, [r4]
|
||||
cmp r0, #0
|
||||
ldmfd sp!, {r0-r2, r4, lr}
|
||||
moveq r0, #0
|
||||
RETeq
|
||||
|
||||
.Lnormale:
|
||||
stmfd sp!, {r10-r11, lr}
|
||||
|
||||
GET_PCB(r10)
|
||||
|
@ -122,11 +122,6 @@ vm_offset_t vector_page;
|
||||
/* The address at which the kernel was loaded. Set early in initarm(). */
|
||||
vm_paddr_t arm_physmem_kernaddr;
|
||||
|
||||
int (*_arm_memcpy)(void *, void *, int, int) = NULL;
|
||||
int (*_arm_bzero)(void *, int, int) = NULL;
|
||||
int _min_memcpy_size = 0;
|
||||
int _min_bzero_size = 0;
|
||||
|
||||
extern int *end;
|
||||
|
||||
#ifdef FDT
|
||||
|
@ -93,14 +93,6 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
.syntax unified
|
||||
|
||||
.L_arm_memcpy:
|
||||
.word _C_LABEL(_arm_memcpy)
|
||||
.L_arm_bzero:
|
||||
.word _C_LABEL(_arm_bzero)
|
||||
.L_min_memcpy_size:
|
||||
.word _C_LABEL(_min_memcpy_size)
|
||||
.L_min_bzero_size:
|
||||
.word _C_LABEL(_min_bzero_size)
|
||||
/*
|
||||
* memset: Sets a block of memory to the specified value
|
||||
*
|
||||
@ -114,22 +106,6 @@ __FBSDID("$FreeBSD$");
|
||||
*/
|
||||
/* LINTSTUB: Func: void bzero(void *, size_t) */
|
||||
ENTRY(bzero)
|
||||
ldr r3, .L_arm_bzero
|
||||
ldr r3, [r3]
|
||||
cmp r3, #0
|
||||
beq .Lnormal0
|
||||
ldr r2, .L_min_bzero_size
|
||||
ldr r2, [r2]
|
||||
cmp r1, r2
|
||||
blt .Lnormal0
|
||||
stmfd sp!, {r0, r1, lr}
|
||||
mov r2, #0
|
||||
mov lr, pc
|
||||
mov pc, r3
|
||||
cmp r0, #0
|
||||
ldmfd sp!, {r0, r1, lr}
|
||||
RETeq
|
||||
.Lnormal0:
|
||||
mov r3, #0x00
|
||||
b do_memset
|
||||
END(bzero)
|
||||
@ -779,23 +755,6 @@ ENTRY(memcpy)
|
||||
bhi .Lnormal
|
||||
#endif
|
||||
#endif
|
||||
ldr r3, .L_arm_memcpy
|
||||
ldr r3, [r3]
|
||||
cmp r3, #0
|
||||
beq .Lnormal
|
||||
ldr r3, .L_min_memcpy_size
|
||||
ldr r3, [r3]
|
||||
cmp r2, r3
|
||||
blt .Lnormal
|
||||
stmfd sp!, {r0-r2, r4, lr}
|
||||
mov r3, #0
|
||||
ldr r4, .L_arm_memcpy
|
||||
mov lr, pc
|
||||
ldr pc, [r4]
|
||||
cmp r0, #0
|
||||
ldmfd sp!, {r0-r2, r4, lr}
|
||||
RETeq
|
||||
.Lnormal:
|
||||
mov r3, r0 /* We must not clobber r0 */
|
||||
|
||||
/* Word-align the destination buffer */
|
||||
|
@ -42,16 +42,6 @@ extern u_long elf_hwcap;
|
||||
extern u_long elf_hwcap2;
|
||||
extern vm_paddr_t arm_physmem_kernaddr;
|
||||
|
||||
extern int (*_arm_memcpy)(void *, void *, int, int);
|
||||
extern int (*_arm_bzero)(void *, int, int);
|
||||
|
||||
extern int _min_memcpy_size;
|
||||
extern int _min_bzero_size;
|
||||
|
||||
#define DST_IS_USER 0x1
|
||||
#define SRC_IS_USER 0x2
|
||||
#define IS_PHYSICAL 0x4
|
||||
|
||||
enum cpu_class {
|
||||
CPU_CLASS_NONE,
|
||||
CPU_CLASS_CORTEXA,
|
||||
|
Loading…
Reference in New Issue
Block a user