- align malloc to sizeof(uintptr), - fix warning in chk.c for 386, - track ilockdepth for amd64, - use m->apicno instead of futzing with lapic registers (they are slow). Reference: /n/atom/patch/applied/fsmisc Date: Wed Apr 16 04:33:24 CES 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/fs/port/chk.c Wed Apr 16 04:32:23 2014 +++ /sys/src/fs/port/chk.c Wed Apr 16 04:32:24 2014 @@ -94,7 +94,7 @@ iunlock(&mconf); - print("not enough memory %lld\n", n); + print("not enough memory %p\n", n); return nil; } --- /sys/src/fs/port/sub.c Wed Apr 16 04:32:26 2014 +++ /sys/src/fs/port/sub.c Wed Apr 16 04:32:27 2014 @@ -36,6 +36,7 @@ int i; static Lock lk; + data = ROUNDUP(data, sizeof(uintptr)); p = ialloc(count * (sizeof(Chan)+data), 0); icp = (Chan*)p; for(i=0; ilastilock = l; -// m->ilockdepth++; + m->ilockdepth++; l->isilock = 1; l->sr = s; } @@ -408,7 +408,7 @@ l->isilock = 0; s = l->sr; unlock0(l, pc); -// m->ilockdepth--; + m->ilockdepth--; // if(up) // up->lastilock = nil; splx(s); --- /sys/src/fs/amd64/lapic.c Wed Apr 16 04:32:32 2014 +++ /sys/src/fs/amd64/lapic.c Wed Apr 16 04:32:33 2014 @@ -354,7 +354,7 @@ Apic *apic; vlong period; - apic = &xlapic[(lapicrget(Id)>>24) & 0xff]; + apic = xlapic + m->apicno; pl = splhi(); lock(&m->apictimerlock); --- /sys/src/fs/fairyland/dat.h Wed Apr 16 04:32:34 2014 +++ /sys/src/fs/fairyland/dat.h Wed Apr 16 04:32:35 2014 @@ -8,5 +8,5 @@ RBUFSIZE = 8*1024, /* raw buffer size */ }; -#include "../pc/archdat.h" +#include "archdat.h" #include "../port/portdat.h"