make memcpy32/memset32 take void *
authornotaz <notasas@gmail.com>
Sat, 5 Apr 2014 18:55:02 +0000 (21:55 +0300)
committernotaz <notasas@gmail.com>
Fri, 28 Aug 2015 23:37:23 +0000 (02:37 +0300)
pico/misc.c
pico/pico_int.h

index f9e85cd..a500ac8 100644 (file)
@@ -125,21 +125,26 @@ PICO_INTERNAL_ASM void memcpy16bswap(unsigned short *dest, void *src, int count)
 }\r
 \r
 #ifndef _ASM_MISC_C_AMIPS\r
-PICO_INTERNAL_ASM void memcpy32(int *dest, int *src, int count)\r
+PICO_INTERNAL_ASM void memcpy32(void *dest_in, const void *src_in, int count)\r
 {\r
-       intblock *bd = (intblock *) dest, *bs = (intblock *) src;\r
+       const intblock *bs = (intblock *) src_in;\r
+       intblock *bd = (intblock *) dest_in;\r
+       const int *src;\r
+       int *dest;\r
 \r
        for (; count >= sizeof(*bd)/4; count -= sizeof(*bd)/4)\r
                *bd++ = *bs++;\r
 \r
-       dest = (int *)bd; src = (int *)bs;\r
+       dest = (int *)bd; src = (const int *)bs;\r
        while (count--)\r
                *dest++ = *src++;\r
 }\r
 \r
 \r
-PICO_INTERNAL_ASM void memset32(int *dest, int c, int count)\r
+PICO_INTERNAL_ASM void memset32(void *dest_in, int c, int count)\r
 {\r
+       int *dest = dest_in;\r
+\r
        for (; count >= 8; count -= 8, dest += 8)\r
                dest[0] = dest[1] = dest[2] = dest[3] =\r
                dest[4] = dest[5] = dest[6] = dest[7] = c;\r
index 7447db9..c85319c 100644 (file)
@@ -770,8 +770,8 @@ extern int (*PicoDmaHook)(unsigned int source, int len, unsigned short **srcp, u
 // misc.c\r
 PICO_INTERNAL_ASM void memcpy16(unsigned short *dest, unsigned short *src, int count);\r
 PICO_INTERNAL_ASM void memcpy16bswap(unsigned short *dest, void *src, int count);\r
-PICO_INTERNAL_ASM void memcpy32(int *dest, int *src, int count); // 32bit word count\r
-PICO_INTERNAL_ASM void memset32(int *dest, int c, int count);\r
+PICO_INTERNAL_ASM void memcpy32(void *dest, const void *src, int count); // 32bit word count\r
+PICO_INTERNAL_ASM void memset32(void *dest, int c, int count);\r
 \r
 // eeprom.c\r
 void EEPROM_write8(unsigned int a, unsigned int d);\r