1 ;;; SPDX-License-Identifier: GPL-2.0 2 ;;; strncpy.S 3 4 #include <asm/linkage.h> 5 6 .text 7 .global strncpy_from_user 8 9 ;;; long strncpy_from_user(void *to, void *from, size_t n) 10 strncpy_from_user: 11 mov.l er2,er2 12 bne 1f 13 sub.l er0,er0 14 rts 15 1: 16 mov.l er4,@-sp 17 sub.l er3,er3 18 2: 19 mov.b @er1+,r4l 20 mov.b r4l,@er0 21 adds #1,er0 22 beq 3f 23 inc.l #1,er3 24 dec.l #1,er2 25 bne 2b 26 3: 27 dec.l #1,er2 28 4: 29 mov.b r4l,@er0 30 adds #1,er0 31 dec.l #1,er2 32 bne 4b 33 mov.l er3,er0 34 mov.l @sp+,er4 35 rts