summaryrefslogtreecommitdiff
path: root/boot/common-boot.s
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-05-04 23:49:39 +0200
committerEugen Wissner <belka@caraus.de>2025-05-04 23:49:39 +0200
commitdf1c0486c5c7e88e9a5a3bd8a4335fc74c4963fc (patch)
tree21baf3d2275e28ccbcafd510e3e7a8b4df1027b5 /boot/common-boot.s
parent0a0bc4e1f2e263cdda83bd78a2a77ff68ae2334e (diff)
downloadelna-df1c0486c5c7e88e9a5a3bd8a4335fc74c4963fc.tar.gz
Fix strings search looping
Diffstat (limited to 'boot/common-boot.s')
-rw-r--r--boot/common-boot.s5
1 files changed, 5 insertions, 0 deletions
diff --git a/boot/common-boot.s b/boot/common-boot.s
index a6fb04e..2a192d3 100644
--- a/boot/common-boot.s
+++ b/boot/common-boot.s
@@ -425,6 +425,9 @@ _memcpy:
addi a0, a0, 1
addi a1, a1, 1
+ addi a2, a2, -1
+
+ j .Lmemcpy_loop
.Lmemcpy_end:
mv a0, t0
@@ -473,6 +476,8 @@ _strings_index:
beqz a0, .Lstrings_index_end
.Lstrings_index_next:
+ # Advance the pointer, reduce the length.
+ lw a2, (s2)
addi s2, s2, 4
add s2, s2, a2
addi s1, s1, -1