summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2002-11-17 01:17:07 +0000
committerJake Burkholder <jake@FreeBSD.org>2002-11-17 01:17:07 +0000
commit7446769caf2ad278d89715072a34d1611a38b52e (patch)
tree0c7d1a522436f157412ccb214c09ec641acc19a2
parent84b427ce23ede64f7f6cff0cfe94033bff64e74d (diff)
Notes
-rw-r--r--sys/sparc64/sparc64/pmap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/pmap.c b/sys/sparc64/sparc64/pmap.c
index 219a0ccdf7e9..a05c787574c1 100644
--- a/sys/sparc64/sparc64/pmap.c
+++ b/sys/sparc64/sparc64/pmap.c
@@ -1822,7 +1822,8 @@ pmap_clear_write(vm_page_t m)
{
struct tte *tp;
- if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0)
+ if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) != 0 ||
+ (m->flags & PG_WRITEABLE) == 0)
return;
STAILQ_FOREACH(tp, &m->md.tte_list, tte_link) {
if ((tp->tte_data & TD_PV) == 0)
@@ -1836,6 +1837,7 @@ pmap_clear_write(vm_page_t m)
tlb_page_demap(TTE_GET_PMAP(tp), TTE_GET_VA(tp));
}
}
+ vm_page_flag_clear(m, PG_WRITEABLE);
}
int