Module Name: src
Committed By: ryo
Date: Thu Jan 12 10:46:48 UTC 2023
Modified Files:
src/sys/arch/aarch64/aarch64: bus_space_asm_generic.S
Log Message:
fixed a bug that bus_space_read_region_{2,4,8}_swap() accesses wrong address.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/aarch64/aarch64/bus_space_asm_generic.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/aarch64/aarch64/bus_space_asm_generic.S
diff -u src/sys/arch/aarch64/aarch64/bus_space_asm_generic.S:1.5 src/sys/arch/aarch64/aarch64/bus_space_asm_generic.S:1.6
--- src/sys/arch/aarch64/aarch64/bus_space_asm_generic.S:1.5 Thu Nov 12 11:28:39 2020
+++ src/sys/arch/aarch64/aarch64/bus_space_asm_generic.S Thu Jan 12 10:46:48 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: bus_space_asm_generic.S,v 1.5 2020/11/12 11:28:39 jmcneill Exp $ */
+/* $NetBSD: bus_space_asm_generic.S,v 1.6 2023/01/12 10:46:48 ryo Exp $ */
/*
* Copyright (c) 2017 Ryo Shimizu <[email protected]>
@@ -29,7 +29,7 @@
#include <aarch64/asm.h>
#include "assym.h"
-RCSID("$NetBSD: bus_space_asm_generic.S,v 1.5 2020/11/12 11:28:39 jmcneill Exp $")
+RCSID("$NetBSD: bus_space_asm_generic.S,v 1.6 2023/01/12 10:46:48 ryo Exp $")
.macro generate_bsfunc funcname, dsbop
/* uint8_t {funcname}_bs_r_1(x0:tag, x1:addr, x2:offset) */
@@ -389,7 +389,7 @@ ENTRY_NP(\funcname\()_bs_rr_2_swap)
0:
lsl x2, x2, x8 /* offset <<= tag->bs_stride */
1:
- ldrh w8, [x1, x9] /* value = *src */
+ ldrh w8, [x1, x2] /* value = *src */
subs x4, x4, #1 /* count-- */
add x2, x2, x9 /* src += delta */
rev16 w8, w8
@@ -419,7 +419,7 @@ ENTRY_NP(\funcname\()_bs_rr_4_swap)
0:
lsl x2, x2, x8 /* offset <<= tag->bs_stride */
1:
- ldr w8, [x1, x9] /* value = *src */
+ ldr w8, [x1, x2] /* value = *src */
subs x4, x4, #1 /* count-- */
add x2, x2, x9 /* src += delta */
rev w8, w8
@@ -449,7 +449,7 @@ ENTRY_NP(\funcname\()_bs_rr_8_swap)
0:
lsl x2, x2, x8 /* offset <<= tag->bs_stride */
1:
- ldr x8, [x1, x9] /* value = *src */
+ ldr x8, [x1, x2] /* value = *src */
subs x4, x4, #1 /* count-- */
add x2, x2, x9 /* src += delta */
rev x8, x8