summaryrefslogtreecommitdiff
path: root/sys/src/9/teg2/mmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/src/9/teg2/mmu.c')
-rw-r--r--sys/src/9/teg2/mmu.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/sys/src/9/teg2/mmu.c b/sys/src/9/teg2/mmu.c
index 871e1c1c3..6005e5065 100644
--- a/sys/src/9/teg2/mmu.c
+++ b/sys/src/9/teg2/mmu.c
@@ -475,20 +475,12 @@ flushmmu(void)
void
mmurelease(Proc* proc)
{
- Page *page, *next;
-
/* write back dirty and invalidate caches */
l1cache->wbinv();
mmul2empty(proc, 0);
- for(page = proc->mmul2cache; page != nil; page = next){
- next = page->next;
- if(--page->ref)
- panic("mmurelease: page->ref %ld", page->ref);
- pagechainhead(page);
- }
- if(proc->mmul2cache != nil)
- pagechaindone();
+
+ freepages(proc->mmul2cache, nil, 0);
proc->mmul2cache = nil;
mmul1empty();