]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Apply access flags for managed and unmanaged pages properly on ARMv6/v7
authorzbb <zbb@FreeBSD.org>
Tue, 19 Nov 2013 23:37:50 +0000 (23:37 +0000)
committerzbb <zbb@FreeBSD.org>
Tue, 19 Nov 2013 23:37:50 +0000 (23:37 +0000)
commit2e7b9532a0426399328624034dfa2a1482231f3f
tree89bf5ead97931649e8a4a2d5190e05d03738f8be
parent35c06ede2cb0cd67a31e2b0becc721aba91c83ff
Apply access flags for managed and unmanaged pages properly on ARMv6/v7

When entering a mapping via pmap_enter() unmanaged pages ought to be
naturally excluded from the "modified" and "referenced" emulation.
RW permission should be granted implicitly when requested,
otherwise unmanaged page will not recover from the permission fault
since there will be no PV entry to indicate that the page can be written.

In addition, only managed pages that participate in "modified"
emulation need to be marked as "dirty" and "writeable" when entered
with RW permissions. Likewise with "referenced" flag for managed pages.
Unmanaged ones however should not be marked as such.

Reviewed by: cognet, gber
sys/arm/arm/pmap-v6.c