]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add support for pmap_enter(..., psind=1) to the i386 pmap. In other words,
authorAlan Cox <alc@FreeBSD.org>
Sat, 14 Jul 2018 17:20:27 +0000 (17:20 +0000)
committerAlan Cox <alc@FreeBSD.org>
Sat, 14 Jul 2018 17:20:27 +0000 (17:20 +0000)
commit8c0873714c467e3aa2e16e596df1670e550f84c7
tree2fead4966a5c6ca848099ac98e41435b959e0722
parent179d82aecf8fb2115f60126d268a4eac22bf1e0a
Add support for pmap_enter(..., psind=1) to the i386 pmap.  In other words,
add support for explicitly requesting that pmap_enter() create a 2 or 4 MB
page mapping.  (Essentially, this feature allows the machine-independent
layer to create superpage mappings preemptively, and not wait for automatic
promotion to occur.)

Export pmap_ps_enabled() to the machine-independent layer.

Add a flag to pmap_pv_insert_pde() that specifies whether it should fail or
reclaim a PV entry when one is not available.

Refactor pmap_enter_pde() into two functions, one by the same name, that is
a general-purpose function for creating PDE PG_PS mappings, and another,
pmap_enter_4mpage(), that is used to prefault 2 or 4 MB read- and/or
execute-only mappings for execve(2), mmap(2), and shmat(2).

Reviewed by: kib
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D16246
sys/i386/i386/pmap.c
sys/i386/include/pmap.h
sys/vm/vm_fault.c