summaryrefslogtreecommitdiff
path: root/sys/src/9/port/allocb.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-01-20 00:47:55 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-01-20 00:47:55 +0100
commit6c2e983d328874ea41cb35bacb510bf2709a229f (patch)
treee2a5c596a3fcd1af3ed792494b78f2d503911b44 /sys/src/9/port/allocb.c
parentb99ecee6cd8c7c9fce1ff2cfa56d5a6807a0fc7c (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.c6
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;