Don't pmap_remove_pv mappings for unmanaged pages.
Closes PR mips/33166. Reviewed by chuq@
This commit is contained in:
parent
e61c7de467
commit
689f73d8a7
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pmap.c,v 1.166 2005/12/24 20:07:19 perry Exp $ */
|
||||
/* $NetBSD: pmap.c,v 1.167 2006/03/30 05:57:01 gdamore Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
|
||||
@ -74,7 +74,7 @@
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.166 2005/12/24 20:07:19 perry Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.167 2006/03/30 05:57:01 gdamore Exp $");
|
||||
|
||||
/*
|
||||
* Manages physical address maps.
|
||||
@ -730,6 +730,7 @@ pmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva)
|
||||
pmap->pm_stats.wired_count--;
|
||||
pmap->pm_stats.resident_count--;
|
||||
pg = PHYS_TO_VM_PAGE(mips_tlbpfn_to_paddr(entry));
|
||||
if (pg)
|
||||
pmap_remove_pv(pmap, sva, pg);
|
||||
if (MIPS_HAS_R4K_MMU)
|
||||
/* See above about G bit */
|
||||
@ -789,6 +790,7 @@ pmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva)
|
||||
pmap->pm_stats.wired_count--;
|
||||
pmap->pm_stats.resident_count--;
|
||||
pg = PHYS_TO_VM_PAGE(mips_tlbpfn_to_paddr(entry));
|
||||
if (pg)
|
||||
pmap_remove_pv(pmap, sva, pg);
|
||||
pte->pt_entry = mips_pg_nv_bit();
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user