aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2024-11-26 22:38:35 +0100
committerMiquel Sabaté Solà <mikisabate@gmail.com>2024-11-26 22:38:35 +0100
commit053f93edecf6aa02ec29366621adf2de6522cdf3 (patch)
treeeb18b7bfc8e20a58b35d8ebc66af944fd1178b87 /kernel
parentfa8f9e9f44d47f5b2d0b4cc6a2cc8f328e0caa80 (diff)
downloadfbos-053f93edecf6aa02ec29366621adf2de6522cdf3.tar.gz
fbos-053f93edecf6aa02ec29366621adf2de6522cdf3.zip
Move string.S to the lib directory
It was weird enough to have it in the 'kernel' directory, as it's way more fitting to have it on 'lib'. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/string.S97
1 files changed, 0 insertions, 97 deletions
diff --git a/kernel/string.S b/kernel/string.S
deleted file mode 100644
index 271e8f3..0000000
--- a/kernel/string.S
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Defined in include/fbos/string.h
- *
- * size_t strlen(const char *str)
- *
- * Returns (a0): string length.
- * Parameter (a0): string to measure.
- * Clobbers: t0, t1.
- */
-.globl strlen
-.type strlen, @function
-strlen:
- mv t1, a0
-1:
- lbu t0, 0(t1)
- beqz t0, 2f
- addi t1, t1, 1
- j 1b
-2:
- sub a0, t1, a0
- ret
-
-/*
- * Defined in include/fbos/string.h
- *
- * int strcmp(const char *s1, const char *s2)
- *
- * Returns (a0): comparison result as in stdlib.
- * Parameter (a0, a1): strings to compare.
- * Clobbers: t0, t1.
- */
-.globl strcmp
-.type strcmp, @function
-strcmp:
-1:
- lbu t0, 0(a0)
- lbu t1, 0(a1)
- addi a0, a0, 1
- addi a1, a1, 1
- bne t0, t1, 2f
- bnez t0, 1b
- li a0, 0
- ret
-2:
- sub a0, t0, t1
- ret
-
-/*
- * Defined in include/fbos/string.h
- *
- * int memcmp(const void *ptr1, const void *ptr2, size_t n)
- *
- * Returns (a0): comparison result as in stdlib.
- * Parameters (a0, a1): strings to compare.
- * Clobbers: t0, t1.
- */
-.global memcmp
-.type memcmp, @function
-memcmp:
-1:
- lbu t0, 0(a0)
- lbu t1, 0(a1)
- bne t0, t1, 2f
- addi a0, a0, 1
- addi a1, a1, 1
- addi a2, a2, -1
- bnez a2, 1b
- li a0, 0
- ret
-2:
- sub a0, t0, t1
- ret
-
-/*
- * Defined in include/fbos/string.h
- *
- * void memcpy(const void *dest, const void *src, size_t count)
- *
- * Parameter a0: destination string.
- * Parameter a1: source string.
- * Parameter a2: number of bytes to copy.
- * Clobbers: t0.
- */
-.global memcpy
-.type memcpy, @function
-memcpy:
-1:
- beqz a2, 3f
-2:
- lbu t0, 0(a1)
- sb t0, 0(a0)
- addi a0, a0, 1
- addi a1, a1, 1
- addi a2, a2, -1
- bnez a2, 2b
-3:
- ret