summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/pmap.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2017-06-28 04:01:29 +0000
committeralc <alc@FreeBSD.org>2017-06-28 04:01:29 +0000
commitb497b3ce303caf124e91812fdd0aae50dad2f89b (patch)
tree546481b4cfad14a9d947dd01efa64aa2a87a374e /sys/i386/include/pmap.h
parent022ed953b94b818bfab23e8eb02a79f8e8824cc6 (diff)
downloadFreeBSD-src-b497b3ce303caf124e91812fdd0aae50dad2f89b.zip
FreeBSD-src-b497b3ce303caf124e91812fdd0aae50dad2f89b.tar.gz
MFC r314310
Refine the fix from r312954. Specifically, add a new PDE-only flag, PG_PROMOTED, that indicates whether lingering 4KB page mappings might need to be flushed on a PDE change that restricts or destroys a 2MB page mapping. This flag allows the pmap to avoid range invalidations that are both unnecessary and costly. Approved by: re (kib)
Diffstat (limited to 'sys/i386/include/pmap.h')
-rw-r--r--sys/i386/include/pmap.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/i386/include/pmap.h b/sys/i386/include/pmap.h
index f2d8c58..6e417d9 100644
--- a/sys/i386/include/pmap.h
+++ b/sys/i386/include/pmap.h
@@ -71,6 +71,7 @@
/* Our various interpretations of the above */
#define PG_W PG_AVAIL1 /* "Wired" pseudoflag */
#define PG_MANAGED PG_AVAIL2
+#define PG_PROMOTED PG_AVAIL3 /* PDE only */
#if defined(PAE) || defined(PAE_TABLES)
#define PG_FRAME (0x000ffffffffff000ull)
#define PG_PS_FRAME (0x000fffffffe00000ull)
OpenPOWER on IntegriCloud