Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F106087769
D21100.id60232.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D21100.id60232.diff
View Options
Index: sys/riscv/riscv/copyinout.S
===================================================================
--- sys/riscv/riscv/copyinout.S
+++ sys/riscv/riscv/copyinout.S
@@ -65,7 +65,7 @@
ENTER_USER_ACCESS(a7)
li t2, XLEN_BYTES
- blt a2, t2, 3f /* Byte-copy if len < XLEN_BYTES */
+ blt a2, t2, 4f /* Byte-copy if len < XLEN_BYTES */
/*
* Compare lower bits of src and dest.
@@ -73,7 +73,7 @@
*/
andi t0, a0, (XLEN_BYTES-1) /* Low bits of src */
andi t1, a1, (XLEN_BYTES-1) /* Low bits of dest */
- bne t0, t1, 3f /* Misaligned. Go to byte copy */
+ bne t0, t1, 4f /* Misaligned. Go to byte copy */
beqz t0, 2f /* Already word-aligned, skip ahead */
/* Byte copy until the first word-aligned address */
@@ -84,6 +84,7 @@
addi a2, a2, -1 /* len-- */
andi t0, a0, (XLEN_BYTES-1)
bnez t0, 1b
+ j 3f
/* Copy words */
2: ld a4, 0(a0) /* Load word from src */
@@ -91,20 +92,20 @@
sd a4, 0(a1) /* Store word in dest */
addi a1, a1, XLEN_BYTES
addi a2, a2, -XLEN_BYTES /* len -= XLEN_BYTES */
- bgeu a2, t2, 2b /* Again if len >= XLEN_BYTES */
+3: bgeu a2, t2, 2b /* Again if len >= XLEN_BYTES */
/* Check if we're finished */
- beqz a2, 4f
+ beqz a2, 5f
/* Copy any remaining bytes */
-3: lb a4, 0(a0) /* Load byte from src */
+4: lb a4, 0(a0) /* Load byte from src */
addi a0, a0, 1
sb a4, 0(a1) /* Store byte in dest */
addi a1, a1, 1
addi a2, a2, -1 /* len-- */
- bnez a2, 3b
+ bnez a2, 4b
-4: EXIT_USER_ACCESS(a7)
+5: EXIT_USER_ACCESS(a7)
SET_FAULT_HANDLER(x0, a7) /* Clear the handler */
.endm
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Dec 26, 4:51 AM (12 m, 2 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15601505
Default Alt Text
D21100.id60232.diff (1 KB)
Attached To
Mode
D21100: riscv: Fix copyin/copyout
Attached
Detach File
Event Timeline
Log In to Comment