diff options
author | 2020-04-13 21:34:54 +0000 | |
---|---|---|
committer | 2020-04-13 21:34:54 +0000 | |
commit | 20d3e1cb58e574bc4b60f23a1d49160287788b1c (patch) | |
tree | 5e08708f17d9676413f768e214c989f0b1501350 | |
parent | Missed a few warnings in previous. (diff) | |
download | wireguard-openbsd-20d3e1cb58e574bc4b60f23a1d49160287788b1c.tar.xz wireguard-openbsd-20d3e1cb58e574bc4b60f23a1d49160287788b1c.zip |
Fix some of the more esoteric bus_space functions. The
bus_space_read_region_n, bus_space_write_region_n and
bus_space_set_region_n functions were all broken.
Fixes mvneta(4) on arm64.
ok patrick@
-rw-r--r-- | sys/arch/arm64/include/bus.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/arch/arm64/include/bus.h b/sys/arch/arm64/include/bus.h index 7f7d8e79dd6..73678b5bf81 100644 --- a/sys/arch/arm64/include/bus.h +++ b/sys/arch/arm64/include/bus.h @@ -1,4 +1,4 @@ -/* $OpenBSD: bus.h,v 1.6 2019/06/03 13:09:56 patrick Exp $ */ +/* $OpenBSD: bus.h,v 1.7 2020/04/13 21:34:54 kettenis Exp $ */ /* * Copyright (c) 2003-2004 Opsycon AB Sweden. All rights reserved. * @@ -159,8 +159,10 @@ static __inline void \ CAT(bus_space_read_region_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ bus_addr_t ba, CAT3(u_int,m,_t) *x, size_t cnt) \ { \ - while (cnt--) \ - *x++ = CAT(bus_space_read_,n)(bst, bsh, ba++); \ + while (cnt--) { \ + *x++ = CAT(bus_space_read_,n)(bst, bsh, ba); \ + ba += (n); \ + } \ } bus_space_read_region(1,8) @@ -193,9 +195,8 @@ static __inline void \ CAT(bus_space_write_multi_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ bus_size_t o, const CAT3(u_int,m,_t) *x, size_t cnt) \ { \ - while (cnt--) { \ + while (cnt--) \ CAT(bus_space_write_,n)(bst, bsh, o, *x++); \ - } \ } bus_space_write_multi(1,8) @@ -211,7 +212,7 @@ CAT(bus_space_write_region_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ { \ while (cnt--) { \ CAT(bus_space_write_,n)(bst, bsh, ba, *x++); \ - ba += sizeof(x); \ + ba += (n); \ } \ } @@ -247,7 +248,7 @@ CAT(bus_space_set_region_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ { \ while (cnt--) { \ CAT(bus_space_write_,n)(bst, bsh, ba, x); \ - ba += sizeof(x); \ + ba += (n); \ } \ } |