]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/h8300/lib/strncpy.S
Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
[mirror_ubuntu-bionic-kernel.git] / arch / h8300 / lib / strncpy.S
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