summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-06-05 06:36:21 +0000
committerdyson <dyson@FreeBSD.org>1996-06-05 06:36:21 +0000
commit6f64e94d554354d2bd843d5cd9ddf78faaeeff3f (patch)
tree3761040bfb5adbffaba36e51504c3005cf2606c7 /sys/amd64
parentf5e325015ade3f5008bd57e33f132f5c52974f37 (diff)
downloadFreeBSD-src-6f64e94d554354d2bd843d5cd9ddf78faaeeff3f.zip
FreeBSD-src-6f64e94d554354d2bd843d5cd9ddf78faaeeff3f.tar.gz
I missed a case of the page table page dirty-bit fix.
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/pmap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 42c0a61..2b48725 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
- * $Id: pmap.c,v 1.98 1996/06/02 22:28:53 dyson Exp $
+ * $Id: pmap.c,v 1.99 1996/06/05 03:31:26 dyson Exp $
*/
/*
@@ -1026,8 +1026,10 @@ pmap_remove_pte(pmap, ptq, va)
printf("pmap_remove: modified page not writable: va: 0x%lx, pte: 0x%lx\n", va, (int) oldpte);
}
#endif
+
if (va < clean_sva || va >= clean_eva) {
- PHYS_TO_VM_PAGE(oldpte)->dirty = VM_PAGE_BITS_ALL;
+ if ((va < UPT_MIN_ADDRESS) || (va >= UPT_MAX_ADDRESS))
+ PHYS_TO_VM_PAGE(oldpte)->dirty = VM_PAGE_BITS_ALL;
}
}
ppv = pa_to_pvh(oldpte);
OpenPOWER on IntegriCloud