Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm32/arm32 Fix another problem is the modified bit...
details: https://anonhg.NetBSD.org/src/rev/2507f2b920b6
branches: trunk
changeset: 467387:2507f2b920b6
user: mycroft <mycroft%NetBSD.org@localhost>
date: Wed Mar 24 02:45:27 1999 +0000
description:
Fix another problem is the modified bit emulation that caused double faults.
We need to set the L2 type preemptively, as it may still be L2_INVAL if the
page had not been previously accessed.
diffstat:
sys/arch/arm32/arm32/pmap.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diffs (23 lines):
diff -r eba95a9d174f -r 2507f2b920b6 sys/arch/arm32/arm32/pmap.c
--- a/sys/arch/arm32/arm32/pmap.c Wed Mar 24 02:07:22 1999 +0000
+++ b/sys/arch/arm32/arm32/pmap.c Wed Mar 24 02:45:27 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.46 1999/03/23 18:39:38 mycroft Exp $ */
+/* $NetBSD: pmap.c,v 1.47 1999/03/24 02:45:27 mycroft Exp $ */
/*
* Copyright (c) 1994-1998 Mark Brinicombe.
@@ -2716,11 +2716,11 @@
PDEBUG(0, printf("pmap_modified_emulation: Got a hit va=%08lx, pte = %p (%08x)\n",
va, pte, *pte));
- *pte = (*pte) | PT_AP(AP_W);
+ *pte = ((*pte) & ~L2_MASK) | L2_SPAGE | PT_AP(AP_W);
PDEBUG(0, printf("->(%08x)\n", *pte));
cpu_tlb_flushID_SE(va);
- vm_physmem[bank].pmseg.attrs[off] |= PT_M | PT_H;
+ vm_physmem[bank].pmseg.attrs[off] |= PT_H | PT_M;
/* Return, indicating the problem has been dealt with */
return(1);
Home |
Main Index |
Thread Index |
Old Index