markj cdc0469c0e Implement software access and dirty bit management for arm64.
Previously the arm64 pmap did no reference or modification tracking;
all mappings were treated as referenced and all read-write mappings
were treated as dirty.  This change implements software management
of these attributes.

Dirty bit management is implemented to emulate ARMv8.1's optional
hardware dirty bit modifier management, following a suggestion from alc.
In particular, a mapping with ATTR_SW_DBM set is logically writeable and
is dirty if the ATTR_AP_RW_BIT bit is clear.  Mappings with
ATTR_AP_RW_BIT set are write-protected, and a write access will trigger
a permission fault.  pmap_fault() handles permission faults for such
mappings and marks the page dirty by clearing ATTR_AP_RW_BIT, thus
mapping the page read-write.

Reviewed by:	alc
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D20907
2019-07-15 17:13:32 +00:00
..
2019-07-12 19:14:52 +00:00
2019-07-10 13:47:10 +00:00
2019-05-27 00:47:51 +00:00
2019-06-22 05:35:23 +00:00
2019-07-13 08:08:25 +00:00
2019-05-02 12:56:13 +00:00
2019-05-08 19:27:30 +00:00
2019-07-13 15:53:28 +00:00
2019-07-14 03:49:48 +00:00
2019-02-04 21:28:25 +00:00
2019-06-08 16:26:56 +00:00
2019-07-14 21:08:54 +00:00