1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00

Also set the access bit in the PTE when we get a data dirty bit fault.

This avoids an immediate access bit fault when we serviced the dirty
bit fault in case the access bit is unset. This typically happens for
newly allocated memory that's being zeroed and thus very common.
This commit is contained in:
Marcel Moolenaar 2003-04-06 05:55:36 +00:00
parent 77ac203091
commit 9fac9065b5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=113160
2 changed files with 4 additions and 4 deletions

View File

@ -336,9 +336,9 @@ IVT_ENTRY(Dirty_Bit, 0x2000)
(p1) br.cond.sptk.few 2f // if not, read next in chain
;;
ld8 r21=[r20] // read pte
mov r22=PTE_D
mov r22=PTE_D|PTE_A
;;
or r21=r22,r21 // set dirty bit
or r21=r22,r21 // set dirty & access bit
;;
st8 [r20]=r21 // store back
;;

View File

@ -336,9 +336,9 @@ IVT_ENTRY(Dirty_Bit, 0x2000)
(p1) br.cond.sptk.few 2f // if not, read next in chain
;;
ld8 r21=[r20] // read pte
mov r22=PTE_D
mov r22=PTE_D|PTE_A
;;
or r21=r22,r21 // set dirty bit
or r21=r22,r21 // set dirty & access bit
;;
st8 [r20]=r21 // store back
;;