diff options
author | ps <ps@FreeBSD.org> | 2008-03-28 04:29:27 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2008-03-28 04:29:27 +0000 |
commit | 41d5b26ff8d7a88a81316dcf6014be2acd0553f9 (patch) | |
tree | dcda557febb2bec52abdb8d813e2359ca7ad5d8d /sys/amd64 | |
parent | f6c880cb2d8e78a05b3c20e3ef96698dc74842ce (diff) | |
download | FreeBSD-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.c | 3 |
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; |