diff options
Diffstat (limited to 'sys/src/9/teg2/mmu.c')
| -rw-r--r-- | sys/src/9/teg2/mmu.c | 12 |
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(); |
