Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/sh/lib64/strlen.S
10817 views
1
/*
2
* Simplistic strlen() implementation for SHmedia.
3
*
4
* Copyright (C) 2003 Paul Mundt <[email protected]>
5
*/
6
7
.section .text..SHmedia32,"ax"
8
.globl strlen
9
.type strlen,@function
10
11
.balign 16
12
strlen:
13
ptabs r18, tr4
14
15
/*
16
* Note: We could easily deal with the NULL case here with a simple
17
* sanity check, though it seems that the behavior we want is to fault
18
* in the event that r2 == NULL, so we don't bother.
19
*/
20
/* beqi r2, 0, tr4 */ ! Sanity check
21
22
movi -1, r0
23
pta/l loop, tr0
24
loop:
25
ld.b r2, 0, r1
26
addi r2, 1, r2
27
addi r0, 1, r0
28
bnei/l r1, 0, tr0
29
30
or r0, r63, r2
31
blink tr4, r63
32
33
.size strlen,.-strlen
34
35