diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-01-20 00:47:55 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-01-20 00:47:55 +0100 |
commit | 6c2e983d328874ea41cb35bacb510bf2709a229f (patch) | |
tree | e2a5c596a3fcd1af3ed792494b78f2d503911b44 /sys/src/9/port/allocb.c | |
parent | b99ecee6cd8c7c9fce1ff2cfa56d5a6807a0fc7c (diff) |
kernel: apply uintptr for ulong when a pointer is stored
this change is in preparation for amd64. the systab calling
convention was also changed to return uintptr (as segattach
returns a pointer) and the arguments are now passed as
va_list which handles amd64 arguments properly (all arguments
are passed in 64bit quantities on the stack, tho the upper
part will not be initialized when the element is smaller
than 8 bytes).
this is partial. xalloc needs to be converted in the future.
Diffstat (limited to 'sys/src/9/port/allocb.c')
-rw-r--r-- | sys/src/9/port/allocb.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/src/9/port/allocb.c b/sys/src/9/port/allocb.c index 97176d76d..60d538325 100644 --- a/sys/src/9/port/allocb.c +++ b/sys/src/9/port/allocb.c @@ -21,7 +21,7 @@ static Block* _allocb(int size) { Block *b; - ulong addr; + uintptr addr; if((b = mallocz(sizeof(Block)+size+Hdrspc, 0)) == nil) return nil; @@ -34,13 +34,13 @@ _allocb(int size) _xinc(&b->ref); /* align start of data portion by rounding up */ - addr = (ulong)b; + addr = (uintptr)b; addr = ROUND(addr + sizeof(Block), BLOCKALIGN); b->base = (uchar*)addr; /* align end of data portion by rounding down */ b->lim = ((uchar*)b) + msize(b); - addr = (ulong)(b->lim); + addr = (uintptr)(b->lim); addr = addr & ~(BLOCKALIGN-1); b->lim = (uchar*)addr; |