diff options
| author | Eliot Solomon <ehs3@rice.edu> | 2024-03-24 19:01:47 +0000 |
|---|---|---|
| committer | Alan Cox <alc@FreeBSD.org> | 2024-03-30 18:37:17 +0000 |
| commit | fd6cb031f577a449894e73daa8f6bd309ba27c73 (patch) | |
| tree | df54ee491f4fb475424748d6e248ee59e9acc205 /tools/debugscripts/dot.gdbinit | |
| parent | 9241ebc796c11cf133c550f188f324bd2c12d89a (diff) | |
arm64 pmap: Add ATTR_CONTIGUOUS support [Part 1]
The ATTR_CONTIGUOUS bit within an L3 page table entry designates that
L3 page as being part of an aligned, physically contiguous collection
of L3 pages. For example, 16 aligned, physically contiguous 4 KB pages
can form a 64 KB superpage, occupying a single TLB entry. While this
change only creates ATTR_CONTIGUOUS mappings in a few places,
specifically, the direct map and pmap_kenter{,_device}(), it adds all
of the necessary code for handling them once they exist, including
demotion, protection, and removal. Consequently, new ATTR_CONTIGUOUS
usage can be added (and tested) incrementally.
Modify the implementation of sysctl vm.pmap.kernel_maps so that it
correctly reports the number of ATTR_CONTIGUOUS mappings on machines
configured to use a 16 KB base page size, where an ATTR_CONTIGUOUS
mapping consists of 128 base pages.
Additionally, this change adds support for creating L2 superpage
mappings to pmap_kenter{,_device}().
Reviewed by: markj
Tested by: gallatin
Differential Revision: https://reviews.freebsd.org/D42737
Diffstat (limited to 'tools/debugscripts/dot.gdbinit')
0 files changed, 0 insertions, 0 deletions
