summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--amd64/include/u.h2
-rw-r--r--arm64/include/u.h2
-rw-r--r--sys/include/libc.h12
-rw-r--r--sys/man/2/memory12
-rw-r--r--sys/src/9/port/lib.h10
-rw-r--r--sys/src/cmd/aux/disksim.c6
-rw-r--r--sys/src/libc/amd64/memccpy.s12
-rw-r--r--sys/src/libc/amd64/memchr.s6
-rw-r--r--sys/src/libc/amd64/memcmp.s10
-rw-r--r--sys/src/libc/amd64/memcpy.s10
-rw-r--r--sys/src/libc/amd64/memmove.s10
-rw-r--r--sys/src/libc/amd64/memset.s6
-rw-r--r--sys/src/libc/arm64/memmove.s2
-rw-r--r--sys/src/libc/arm64/memset.s2
-rw-r--r--sys/src/libc/port/memccpy.c2
-rw-r--r--sys/src/libc/port/memchr.c2
-rw-r--r--sys/src/libc/port/memcmp.c2
-rw-r--r--sys/src/libc/port/memmove.c6
-rw-r--r--sys/src/libc/port/memset.c2
19 files changed, 57 insertions, 59 deletions
diff --git a/amd64/include/u.h b/amd64/include/u.h
index 17a684368..32978b115 100644
--- a/amd64/include/u.h
+++ b/amd64/include/u.h
@@ -8,7 +8,7 @@ typedef long long vlong;
typedef unsigned long long uvlong;
typedef long long intptr;
typedef unsigned long long uintptr;
-typedef unsigned long usize;
+typedef unsigned long long usize;
typedef uint Rune;
typedef union FPdbleword FPdbleword;
typedef uintptr jmp_buf[2];
diff --git a/arm64/include/u.h b/arm64/include/u.h
index 94d9cc3b7..ca7037497 100644
--- a/arm64/include/u.h
+++ b/arm64/include/u.h
@@ -9,7 +9,7 @@ typedef long long vlong;
typedef unsigned long long uvlong;
typedef vlong intptr;
typedef uvlong uintptr;
-typedef unsigned long usize;
+typedef unsigned long long usize;
typedef uint Rune;
typedef union FPdbleword FPdbleword;
typedef uintptr jmp_buf[2];
diff --git a/sys/include/libc.h b/sys/include/libc.h
index ecc23c343..27c45207d 100644
--- a/sys/include/libc.h
+++ b/sys/include/libc.h
@@ -8,12 +8,12 @@
/*
* mem routines
*/
-extern void* memccpy(void*, void*, int, ulong);
-extern void* memset(void*, int, ulong);
-extern int memcmp(void*, void*, ulong);
-extern void* memcpy(void*, void*, ulong);
-extern void* memmove(void*, void*, ulong);
-extern void* memchr(void*, int, ulong);
+extern void* memccpy(void*, void*, int, usize);
+extern void* memset(void*, int, usize);
+extern int memcmp(void*, void*, usize);
+extern void* memcpy(void*, void*, usize);
+extern void* memmove(void*, void*, usize);
+extern void* memchr(void*, int, usize);
/*
* string routines
diff --git a/sys/man/2/memory b/sys/man/2/memory
index 30c5cfb1e..348f929e7 100644
--- a/sys/man/2/memory
+++ b/sys/man/2/memory
@@ -8,22 +8,22 @@ memccpy, memchr, memcmp, memcpy, memmove, memset, tsmemcmp \- memory operations
.PP
.ta \w'\fLvoid* 'u
.B
-void* memccpy(void *s1, void *s2, int c, ulong n)
+void* memccpy(void *s1, void *s2, int c, usize n)
.PP
.B
-void* memchr(void *s, int c, ulong n)
+void* memchr(void *s, int c, usize n)
.PP
.B
-int memcmp(void *s1, void *s2, ulong n)
+int memcmp(void *s1, void *s2, usize n)
.PP
.B
-void* memcpy(void *s1, void *s2, ulong n)
+void* memcpy(void *s1, void *s2, usize n)
.PP
.B
-void* memmove(void *s1, void *s2, ulong n)
+void* memmove(void *s1, void *s2, usize n)
.PP
.B
-void* memset(void *s, int c, ulong n)
+void* memset(void *s, int c, usize n)
.PP
.B #include <libsec.h>
.PP
diff --git a/sys/src/9/port/lib.h b/sys/src/9/port/lib.h
index 06b423d9d..ce05634f0 100644
--- a/sys/src/9/port/lib.h
+++ b/sys/src/9/port/lib.h
@@ -8,11 +8,11 @@
/*
* mem routines
*/
-extern void* memccpy(void*, void*, int, ulong);
-extern void* memset(void*, int, ulong);
-extern int memcmp(void*, void*, ulong);
-extern void* memmove(void*, void*, ulong);
-extern void* memchr(void*, int, ulong);
+extern void* memccpy(void*, void*, int, usize);
+extern void* memset(void*, int, usize);
+extern int memcmp(void*, void*, usize);
+extern void* memmove(void*, void*, usize);
+extern void* memchr(void*, int, usize);
/*
* string routines
diff --git a/sys/src/cmd/aux/disksim.c b/sys/src/cmd/aux/disksim.c
index 3d261ea54..c0b28935b 100644
--- a/sys/src/cmd/aux/disksim.c
+++ b/sys/src/cmd/aux/disksim.c
@@ -349,13 +349,13 @@ Have:
}
void*
-evommem(void *a, void *b, ulong n)
+evommem(void *a, void *b, usize n)
{
return memmove(b, a, n);
}
int
-isnonzero(void *v, ulong n)
+isnonzero(void *v, usize n)
{
uchar *a, *ea;
@@ -375,7 +375,7 @@ rdwrpart(Req *r)
vlong offset;
long count, tot, n, o;
uchar *blk, *dat;
- void *(*move)(void*, void*, ulong);
+ void *(*move)(void*, void*, usize);
q = r->fid->qid.path-Qpart;
if(q < 0 || q > nelem(tab) || !tab[q].inuse || tab[q].vers != r->fid->qid.vers){
diff --git a/sys/src/libc/amd64/memccpy.s b/sys/src/libc/amd64/memccpy.s
index d878faaf5..805842859 100644
--- a/sys/src/libc/amd64/memccpy.s
+++ b/sys/src/libc/amd64/memccpy.s
@@ -1,7 +1,7 @@
- TEXT memccpy(SB),$0
+TEXT memccpy(SB),$0
- MOVL n+24(FP), CX
- CMPL CX, $0
+ MOVQ n+24(FP), CX
+ CMPQ CX, $0
JEQ none
MOVQ p2+8(FP), DI
MOVBLZX c+16(FP), AX
@@ -18,7 +18,7 @@
*/
none:
MOVL $0, AX
- MOVL n+24(FP), BX
+ MOVQ n+24(FP), BX
JMP memcpy
/*
@@ -44,7 +44,7 @@ memcpy:
ORQ SI, DX
ANDL $3, DX
JNE c3
- MOVL BX, CX
+ MOVQ BX, CX
SHRQ $2, CX
REP; MOVSL
/*
@@ -52,7 +52,7 @@ memcpy:
*/
ANDL $3, BX
c3:
- MOVL BX, CX
+ MOVQ BX, CX
REP; MOVSB
RET
diff --git a/sys/src/libc/amd64/memchr.s b/sys/src/libc/amd64/memchr.s
index 3648e84f9..1cf4ac3b2 100644
--- a/sys/src/libc/amd64/memchr.s
+++ b/sys/src/libc/amd64/memchr.s
@@ -1,7 +1,7 @@
- TEXT memchr(SB),$0
+TEXT memchr(SB),$0
- MOVL n+16(FP), CX
- CMPL CX, $0
+ MOVQ n+16(FP), CX
+ CMPQ CX, $0
JEQ none
MOVQ RARG, DI
MOVBLZX c+8(FP), AX
diff --git a/sys/src/libc/amd64/memcmp.s b/sys/src/libc/amd64/memcmp.s
index 71098b200..e545f67bd 100644
--- a/sys/src/libc/amd64/memcmp.s
+++ b/sys/src/libc/amd64/memcmp.s
@@ -1,7 +1,7 @@
- TEXT memcmp(SB),$0
+TEXT memcmp(SB),$0
- MOVL n+16(FP), BX
- CMPL BX, $0
+ MOVQ n+16(FP), BX
+ CMPQ BX, $0
JEQ none
MOVQ RARG, DI
MOVQ p2+8(FP), SI
@@ -14,7 +14,7 @@
* first by longs
*/
- MOVL BX, CX
+ MOVQ BX, CX
SHRQ $2, CX
REP; CMPSL
@@ -25,7 +25,7 @@
*/
ANDL $3, BX
c3:
- MOVL BX, CX
+ MOVQ BX, CX
REP; CMPSB
JNE found1
diff --git a/sys/src/libc/amd64/memcpy.s b/sys/src/libc/amd64/memcpy.s
index 878e80223..3858a7aec 100644
--- a/sys/src/libc/amd64/memcpy.s
+++ b/sys/src/libc/amd64/memcpy.s
@@ -2,8 +2,8 @@ TEXT memcpy(SB), $0
MOVQ RARG, DI
MOVQ DI, AX /* return value */
MOVQ p2+8(FP), SI
- MOVL n+16(FP), BX
- CMPL BX, $0
+ MOVQ n+16(FP), BX
+ CMPQ BX, $0
JGT _ok
JEQ _return /* nothing to do if n == 0 */
MOVL $0, SI /* fault if n < 0 */
@@ -40,7 +40,7 @@ _forward:
*/
JEQ _return /* flags set by above ANDL */
c3f:
- MOVL BX, CX
+ MOVQ BX, CX
REP; MOVSB
RET
@@ -62,7 +62,7 @@ _back:
ORQ SI, DX
ANDL $3, DX
JNE c3b
- MOVL BX, CX
+ MOVQ BX, CX
SHRQ $2, CX
ANDL $3, BX
REP; MOVSL
@@ -74,7 +74,7 @@ _back:
c3b:
ADDQ $3, DI
ADDQ $3, SI
- MOVL BX, CX
+ MOVQ BX, CX
REP; MOVSB
_return:
diff --git a/sys/src/libc/amd64/memmove.s b/sys/src/libc/amd64/memmove.s
index 1f00537fd..120ad282e 100644
--- a/sys/src/libc/amd64/memmove.s
+++ b/sys/src/libc/amd64/memmove.s
@@ -2,8 +2,8 @@ TEXT memmove(SB), $0
MOVQ RARG, DI
MOVQ DI, AX /* return value */
MOVQ p2+8(FP), SI
- MOVL n+16(FP), BX
- CMPL BX, $0
+ MOVQ n+16(FP), BX
+ CMPQ BX, $0
JGT _ok
JEQ _return /* nothing to do if n == 0 */
MOVL $0, SI /* fault if n < 0 */
@@ -40,7 +40,7 @@ _forward:
*/
JEQ _return /* flags set by above ANDL */
c3f:
- MOVL BX, CX
+ MOVQ BX, CX
REP; MOVSB
RET
@@ -62,7 +62,7 @@ _back:
ORQ SI, DX
ANDL $3, DX
JNE c3b
- MOVL BX, CX
+ MOVQ BX, CX
SHRQ $2, CX
ANDL $3, BX
REP; MOVSL
@@ -74,7 +74,7 @@ _back:
c3b:
ADDQ $3, DI
ADDQ $3, SI
- MOVL BX, CX
+ MOVQ BX, CX
REP; MOVSB
_return:
diff --git a/sys/src/libc/amd64/memset.s b/sys/src/libc/amd64/memset.s
index d190edee2..0e5a99435 100644
--- a/sys/src/libc/amd64/memset.s
+++ b/sys/src/libc/amd64/memset.s
@@ -1,13 +1,13 @@
- TEXT memset(SB),$0
+TEXT memset(SB),$0
CLD
MOVQ RARG, DI
MOVBLZX c+8(FP), AX
- MOVL n+16(FP), BX
+ MOVQ n+16(FP), BX
/*
* if not enough bytes, just set bytes
*/
- CMPL BX, $9
+ CMPQ BX, $9
JLS c3
/*
* if not aligned, just set bytes
diff --git a/sys/src/libc/arm64/memmove.s b/sys/src/libc/arm64/memmove.s
index b19b736da..76174800c 100644
--- a/sys/src/libc/arm64/memmove.s
+++ b/sys/src/libc/arm64/memmove.s
@@ -1,7 +1,7 @@
TEXT memcpy(SB), $-4
TEXT memmove(SB), $-4
MOV from+8(FP), R1
- MOVWU n+16(FP), R2
+ MOV n+16(FP), R2
CMP R0, R1
BEQ _done
diff --git a/sys/src/libc/arm64/memset.s b/sys/src/libc/arm64/memset.s
index 486b32cb9..f19e85ab4 100644
--- a/sys/src/libc/arm64/memset.s
+++ b/sys/src/libc/arm64/memset.s
@@ -1,6 +1,6 @@
TEXT memset(SB), $-4
MOVBU c+8(FP), R1
- MOVWU n+16(FP), R2
+ MOV n+16(FP), R2
MOV R0, R5
ADD R0, R2, R3
diff --git a/sys/src/libc/port/memccpy.c b/sys/src/libc/port/memccpy.c
index 9268ba72e..9fc3716c8 100644
--- a/sys/src/libc/port/memccpy.c
+++ b/sys/src/libc/port/memccpy.c
@@ -2,7 +2,7 @@
#include <libc.h>
void*
-memccpy(void *a1, void *a2, int c, ulong n)
+memccpy(void *a1, void *a2, int c, usize n)
{
uchar *s1, *s2;
diff --git a/sys/src/libc/port/memchr.c b/sys/src/libc/port/memchr.c
index fb4b1d148..1ffe8fd8a 100644
--- a/sys/src/libc/port/memchr.c
+++ b/sys/src/libc/port/memchr.c
@@ -2,7 +2,7 @@
#include <libc.h>
void*
-memchr(void *ap, int c, ulong n)
+memchr(void *ap, int c, usize n)
{
uchar *sp;
diff --git a/sys/src/libc/port/memcmp.c b/sys/src/libc/port/memcmp.c
index 211752b03..f33a8690b 100644
--- a/sys/src/libc/port/memcmp.c
+++ b/sys/src/libc/port/memcmp.c
@@ -2,7 +2,7 @@
#include <libc.h>
int
-memcmp(void *a1, void *a2, ulong n)
+memcmp(void *a1, void *a2, usize n)
{
uchar *s1, *s2;
uint c1, c2;
diff --git a/sys/src/libc/port/memmove.c b/sys/src/libc/port/memmove.c
index 16ef43277..5d6f28419 100644
--- a/sys/src/libc/port/memmove.c
+++ b/sys/src/libc/port/memmove.c
@@ -2,12 +2,10 @@
#include <libc.h>
void*
-memmove(void *a1, void *a2, ulong n)
+memmove(void *a1, void *a2, usize n)
{
char *s1, *s2;
- if((long)n < 0)
- abort();
s1 = a1;
s2 = a2;
if((s2 < s1) && (s2+n > s1))
@@ -29,7 +27,7 @@ back:
}
void*
-memcpy(void *a1, void *a2, ulong n)
+memcpy(void *a1, void *a2, usize n)
{
return memmove(a1, a2, n);
}
diff --git a/sys/src/libc/port/memset.c b/sys/src/libc/port/memset.c
index 431d6bb30..c1c9ab7da 100644
--- a/sys/src/libc/port/memset.c
+++ b/sys/src/libc/port/memset.c
@@ -2,7 +2,7 @@
#include <libc.h>
void*
-memset(void *ap, int c, ulong n)
+memset(void *ap, int c, usize n)
{
char *p;