summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2008-03-28 04:29:27 +0000
committerps <ps@FreeBSD.org>2008-03-28 04:29:27 +0000
commit41d5b26ff8d7a88a81316dcf6014be2acd0553f9 (patch)
treedcda557febb2bec52abdb8d813e2359ca7ad5d8d /sys/amd64
parentf6c880cb2d8e78a05b3c20e3ef96698dc74842ce (diff)
downloadFreeBSD-src-41d5b26ff8d7a88a81316dcf6014be2acd0553f9.zip
FreeBSD-src-41d5b26ff8d7a88a81316dcf6014be2acd0553f9.tar.gz
Add support to mincore for detecting whether a page is part of a
"super" page or not. Reviewed by: alc, ups
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/pmap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 025a141..dd5c87d 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -4371,6 +4371,7 @@ pmap_mincore(pmap_t pmap, vm_offset_t addr)
if (pdep != NULL && (*pdep & PG_V)) {
if (*pdep & PG_PS) {
pte = *pdep;
+ val = MINCORE_SUPER;
/* Compute the physical address of the 4KB page. */
pa = ((*pdep & PG_PS_FRAME) | (addr & PDRMASK)) &
PG_FRAME;
@@ -4385,7 +4386,7 @@ pmap_mincore(pmap_t pmap, vm_offset_t addr)
PMAP_UNLOCK(pmap);
if (pte != 0) {
- val = MINCORE_INCORE;
+ val |= MINCORE_INCORE;
if ((pte & PG_MANAGED) == 0)
return val;
OpenPOWER on IntegriCloud