summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/mtx/mmu.c5
-rw-r--r--sys/src/9/ppc/mmu.c10
2 files changed, 9 insertions, 6 deletions
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);
}