diff options
author | alc <alc@FreeBSD.org> | 2009-05-23 18:33:22 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2009-05-23 18:33:22 +0000 |
commit | cd8caa9b9cfb079fe39042800c8e2abad26c66b4 (patch) | |
tree | 88bd10121820dd0ac5818cf29bb50a9098b9a50c /sys/mips | |
parent | c77b84c60d8aafd511081da151bbdaca34560bde (diff) | |
download | FreeBSD-src-cd8caa9b9cfb079fe39042800c8e2abad26c66b4.zip FreeBSD-src-cd8caa9b9cfb079fe39042800c8e2abad26c66b4.tar.gz |
When a page is mapped for write access on a read fault, the PTE should be
configured to trap on a write access unless *all* of the page's dirty bits
are set.
Diffstat (limited to 'sys/mips')
-rw-r--r-- | sys/mips/mips/pmap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/mips/mips/pmap.c b/sys/mips/mips/pmap.c index 2188c36..c3d6060 100644 --- a/sys/mips/mips/pmap.c +++ b/sys/mips/mips/pmap.c @@ -3116,7 +3116,8 @@ init_pte_prot(vm_offset_t va, vm_page_t m, vm_prot_t prot) */ rw = PTE_RWPAGE; vm_page_dirty(m); - } else if ((m->md.pv_flags & PV_TABLE_MOD) || m->dirty) + } else if ((m->md.pv_flags & PV_TABLE_MOD) || + m->dirty == VM_PAGE_BITS_ALL) rw = PTE_RWPAGE; else rw = PTE_CWPAGE; |