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 <r...@nerv.org> @@ -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