diff --git a/sys/src/9/mtx/mmu.c b/sys/src/9/mtx/mmu.c index c4030ce8f..7afd68a3f 100644 --- a/sys/src/9/mtx/mmu.c +++ b/sys/src/9/mtx/mmu.c @@ -85,10 +85,11 @@ mmusweep(void*) sweepcolor = m->sweepcolor; x = splhi(); - p = proctab(0); - for(i = 0; i < conf.nproc; i++, p++) + for(i = 0; i < conf.nproc; i++) { + p = proctab(i); if(PIDCOLOR(p->mmupid) == sweepcolor) p->mmupid = 0; + } splx(x); ptab = (ulong*)m->ptabbase; diff --git a/sys/src/9/ppc/mmu.c b/sys/src/9/ppc/mmu.c index 88ef49e2d..59e59c229 100644 --- a/sys/src/9/ppc/mmu.c +++ b/sys/src/9/ppc/mmu.c @@ -89,10 +89,11 @@ mmusweep(void*) sweepcolor = m->sweepcolor; x = splhi(); - p = proctab(0); - for(i = 0; i < conf.nproc; i++, p++) + for(i = 0; i < conf.nproc; i++){ + p = proctab(i); if(PIDCOLOR(p->mmupid) == sweepcolor) p->mmupid = 0; + } splx(x); ptab = (ulong*)m->ptabbase; @@ -125,9 +126,10 @@ newmmupid(void) m->mmupid = PIDBASE; x = splhi(); tlbflushall(); - p = proctab(0); - for(i = 0; i < conf.nproc; i++, p++) + for(i = 0; i < conf.nproc; i++){ + p = proctab(i); p->mmupid = 0; + } splx(x); wakeup(&m->sweepr); }