diff options
Diffstat (limited to 'sys/dev/si')
-rw-r--r-- | sys/dev/si/si.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/sys/dev/si/si.c b/sys/dev/si/si.c index aea1172..ad81ab0 100644 --- a/sys/dev/si/si.c +++ b/sys/dev/si/si.c @@ -215,23 +215,37 @@ static char *si_type[] = { static void __inline si_bcopy(const void *src, void *dst, size_t len) { + u_char *d; + const u_char *s; + + d = dst; + s = src; while (len--) - *(((u_char *)dst)++) = *(((const u_char *)src)++); + *d++ = *s++; } static void __inline si_vbcopy(const volatile void *src, void *dst, size_t len) { + u_char *d; + const volatile u_char *s; + + d = dst; + s = src; while (len--) - *(((u_char *)dst)++) = *(((const volatile u_char *)src)++); + *d++ = *s++; } static void __inline si_bcopyv(const void *src, volatile void *dst, size_t len) { + volatile u_char *d; + const u_char *s; + + d = dst; + s = src; while (len--) - *(((volatile u_char *)dst)++) = *(((const u_char *)src)++); + *d++ = *s++; } - /* * Attach the device. Initialize the card. */ |