freebsd-dev/sys
Mark Johnston ca2cae0b4d 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
..
amd64 Fix syntax. 2019-07-12 19:14:52 +00:00
arm Remove duplicated device firmware entry in generic arm kernel config added in r333191 2019-07-15 15:07:55 +00:00
arm64 Implement software access and dirty bit management for arm64. 2019-07-15 17:13:32 +00:00
bsm
cam Remove the CDIOCREADSUBCHANNEL_SYSSPACE ioctl. 2019-07-03 00:10:01 +00:00
cddl Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
compat linuxcommon: add module version 2019-07-10 13:47:10 +00:00
conf Put USB ACPI code into own module, uacpi.ko. 2019-07-08 20:53:25 +00:00
contrib Calculate the offset of the interface name using FR_NAME rather than 2019-07-14 02:46:34 +00:00
crypto
ddb
dev netmap: fix bug introduced by r349752 2019-07-13 08:08:25 +00:00
dts
fs Add additional check for 'blocks per group' and 'fragments per group' superblock fields. 2019-07-07 08:58:02 +00:00
gdb
geom
gnu
i386 Remove a stale comment. 2019-07-13 15:53:28 +00:00
isa
kern In do_lock_pi(), do not return prematurely. 2019-07-15 08:39:52 +00:00
kgssapi
libkern
mips Provide protection against starvation of the ll/sc loops when accessing userpace. 2019-07-12 18:43:24 +00:00
modules This commit updates rack to what is basically being used at NF as 2019-07-10 20:40:39 +00:00
net Fix a typo in r349969 2019-07-14 03:49:48 +00:00
net80211
netgraph
netinet Add support for MSG_EOR and MSG_EOF in sendmsg() for SCTP. 2019-07-15 14:54:04 +00:00
netinet6 When calling sctp_initialize_auth_params(), the inp must have at 2019-07-14 12:04:39 +00:00
netipsec
netpfil Do not modify cmd pointer if it is already last opcode in the rule. 2019-07-12 09:59:21 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto
powerpc powerpc64/pmap: No need for moea64_pvo_remove_from_page_locked() wrapper 2019-07-13 03:39:46 +00:00
riscv pmap_clear_modify() needs to clear PTE_W. 2019-07-15 15:45:33 +00:00
rpc
security
sparc64 Provide protection against starvation of the ll/sc loops when accessing userpace. 2019-07-12 18:43:24 +00:00
sys Add arm_sync_icache() and arm_drain_writebuf() sysarch syscall wrappers. 2019-07-13 15:34:29 +00:00
teken
tests
tools
ufs
vm Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
x86 PR: 239143 2019-07-14 21:08:54 +00:00
xdr
xen
Makefile