summaryrefslogtreecommitdiffstats
path: root/sys/fs/procfs
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-06-17 22:43:36 +0000
committerdyson <dyson@FreeBSD.org>1996-06-17 22:43:36 +0000
commitc74503c0b746d2e3293392528f390745f5c52f04 (patch)
tree63d9a3fb7cf9e94a40165330e50b4796eecf06df /sys/fs/procfs
parent18c043062f3dc5788cdccf5d66621cfb1335500b (diff)
downloadFreeBSD-src-c74503c0b746d2e3293392528f390745f5c52f04.zip
FreeBSD-src-c74503c0b746d2e3293392528f390745f5c52f04.tar.gz
Add a feature to procfs to allow display of the process address map
with multiple entries as follows: start address, end address, resident pages in range, private pages in range, RW/RO, COW or not, (vnode/device/swap/default).
Diffstat (limited to 'sys/fs/procfs')
-rw-r--r--sys/fs/procfs/procfs.h5
-rw-r--r--sys/fs/procfs/procfs_subr.c6
-rw-r--r--sys/fs/procfs/procfs_vnops.c4
3 files changed, 11 insertions, 4 deletions
diff --git a/sys/fs/procfs/procfs.h b/sys/fs/procfs/procfs.h
index 964c667..e28185e 100644
--- a/sys/fs/procfs/procfs.h
+++ b/sys/fs/procfs/procfs.h
@@ -36,7 +36,7 @@
*
* @(#)procfs.h 8.6 (Berkeley) 2/3/94
*
- * $Id: procfs.h,v 1.8 1995/11/16 11:39:09 bde Exp $
+ * $Id: procfs.h,v 1.9 1996/01/24 18:40:37 peter Exp $
*/
/*
@@ -52,7 +52,8 @@ typedef enum {
Pctl, /* process control */
Pstatus, /* process status */
Pnote, /* process notifier */
- Pnotepg /* process group notifier */
+ Pnotepg, /* process group notifier */
+ Pmap /* memory map */
} pfstype;
/*
diff --git a/sys/fs/procfs/procfs_subr.c b/sys/fs/procfs/procfs_subr.c
index 7a0eafe..f8840aa 100644
--- a/sys/fs/procfs/procfs_subr.c
+++ b/sys/fs/procfs/procfs_subr.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_subr.c 8.4 (Berkeley) 1/27/94
*
- * $Id: procfs_subr.c,v 1.5 1995/05/30 08:07:11 rgrimes Exp $
+ * $Id: procfs_subr.c,v 1.6 1996/06/12 03:37:36 davidg Exp $
*/
#include <sys/param.h>
@@ -166,6 +166,7 @@ loop:
pfs->pfs_mode = (VWRITE);
break;
+ case Pmap:
case Pstatus:
pfs->pfs_mode = (VREAD) |
(VREAD >> 3) |
@@ -250,6 +251,9 @@ procfs_rw(ap)
case Pstatus:
return (procfs_dostatus(curp, p, pfs, uio));
+ case Pmap:
+ return (procfs_domap(curp, p, pfs, uio));
+
case Pmem:
return (procfs_domem(curp, p, pfs, uio));
diff --git a/sys/fs/procfs/procfs_vnops.c b/sys/fs/procfs/procfs_vnops.c
index 1ad1d2d..c830ea2 100644
--- a/sys/fs/procfs/procfs_vnops.c
+++ b/sys/fs/procfs/procfs_vnops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.6 (Berkeley) 2/7/94
*
- * $Id: procfs_vnops.c,v 1.20 1996/01/24 18:41:41 peter Exp $
+ * $Id: procfs_vnops.c,v 1.21 1996/03/11 06:13:09 hsu Exp $
*/
/*
@@ -95,6 +95,7 @@ static struct pfsnames {
{ N("status"), Pstatus, NULL },
{ N("note"), Pnote, NULL },
{ N("notepg"), Pnotepg, NULL },
+ { N("map"), Pmap, NULL },
#undef N
};
#define Nprocent (sizeof(procent)/sizeof(procent[0]))
@@ -430,6 +431,7 @@ procfs_getattr(ap)
vap->va_gid = KMEM_GROUP;
break;
+ case Pmap:
case Pregs:
case Pfpregs:
case Pctl:
OpenPOWER on IntegriCloud