Home | History | Annotate | Download | only in modstat
History log of /src/sbin/modstat/main.c
RevisionDateAuthorComments
 1.26  07-Apr-2021  simonb Update usage message to reflect reality.
 1.25  27-Jan-2019  pgoyette Merge the [pgoyette-compat] branch
 1.24  16-Nov-2016  pgoyette branches: 1.24.12; 1.24.14;
Add a description for the new MODULE_CLASS_BUFQ class.
 1.23  05-Sep-2016  sevan Drop main() prototype.
 1.22  03-Aug-2016  pgoyette Right-align numeric columns REFS and SIZE for easier viewing
 1.21  02-Dec-2015  pgoyette branches: 1.21.2;
By default, don't display the module load address. Add a -k option
to restore display of this field.
 1.20  04-Nov-2015  christos print flags symbolically.
 1.19  04-Nov-2015  pgoyette Add FLAGS to the module data displayed. Reduce some of the extra
inter-column white-space to (partly) compensate for the additional
column.
 1.18  23-Oct-2013  mbalmer use MODULE_CLASS_MISC for Lua modules
 1.17  21-Oct-2013  mbalmer properly display Lua modules
 1.16  26-Jun-2013  riz Display the load address of modules. PR bin/47951.
 1.15  07-Aug-2012  jnemeth branches: 1.15.2;
Add -A, -a, and -e options to modstat(8) along with kernel
changes required to support these options. The -e option was
requested by martin@ in private chat in order to make writing tests
easier (i.e. don't bother testing MODULAR functionaility if it
doesn't exist). While there, I added -A and -a since those were
quite similar.

-A Tells you whether or not modules can be autoloaded at the moment.
This option does take into consideration the sysctl
kern.module.autoload.

-a Tells you whether or not modules can be autoloaded at the moment.
This option does not take into consideration the sysctl
kern.module.autoload.

-e Tells you whether or not you may load a module at the moment.
 1.14  02-Aug-2011  mbalmer branches: 1.14.2;
Accept both 'modstat -n name' as well as 'modstat name' to display information
about a single module.
 1.13  03-Jun-2011  pgoyette Keep printf() happy - cast the max name length to type int
 1.12  03-Jun-2011  nonaka fix output format for long module name.
 1.11  13-Dec-2010  pooka branches: 1.11.4;
Add rump client support for module utilities. It should be noted
that while modstat and modunload and builtin modules work exactly
the same as in the host case, modload loads file system kernel
modules from the rump kernel namespace. By default, archs which
have rump support for the kernel kernel ABI have the host module
directory mapped into the rump kernel namespace at the same location
(/stand/...). Therefore, if the *host* module directory is populated,
"rump.modload foo" will work as expected. Otherwise, RUMP_MODULEBASE
can be used to point to the module directory.
 1.10  19-Mar-2010  pooka Avoid known unknown if the kernel presents us with an unknown
unknown for module class and/or source.

related to PR kern/43014
 1.9  05-Mar-2010  pooka Use 8k buffer, since 4k is too short for the default list (might
save one round of modctl()).
 1.8  03-Oct-2009  elad Make modstat output look pretty again.
 1.7  02-Oct-2009  elad First part of secmodel cleanup and other misc. changes:

- Separate the suser part of the bsd44 secmodel into its own secmodel
and directory, pending even more cleanups. For revision history
purposes, the original location of the files was

src/sys/secmodel/bsd44/secmodel_bsd44_suser.c
src/sys/secmodel/bsd44/suser.h

- Add a man-page for secmodel_suser(9) and update the one for
secmodel_bsd44(9).

- Add a "secmodel" module class and use it. Userland program and
documentation updated.

- Manage secmodel count (nsecmodels) through the module framework.
This eliminates the need for secmodel_{,de}register() calls in
secmodel code.

- Prepare for secmodel modularization by adding relevant module bits.
The secmodels don't allow auto unload. The bsd44 secmodel depends
on the suser and securelevel secmodels. The overlay secmodel depends
on the bsd44 secmodel. As the module class is only cosmetic, and to
prevent ambiguity, the bsd44 and overlay secmodels are prefixed with
"secmodel_".

- Adapt the overlay secmodel to recent changes (mainly vnode scope).

- Stop using link-sets for the sysctl node(s) creation.

- Keep sysctl variables under nodes of their relevant secmodels. In
other words, don't create duplicates for the suser/securelevel
secmodels under the bsd44 secmodel, as the latter is merely used
for "grouping".

- For the suser and securelevel secmodels, "advertise presence" in
relevant sysctl nodes (sysctl.security.models.{suser,securelevel}).

- Get rid of the LKM preprocessor stuff.

- As secmodels are now modules, there's no need for an explicit call
to secmodel_start(); it's handled by the module framework. That
said, the module framework was adjusted to properly load secmodels
early during system startup.

- Adapt rump to changes: Instead of using empty stubs for securelevel,
simply use the suser secmodel. Also replace secmodel_start() with a
call to secmodel_suser_start().

- 5.99.20.

Testing was done on i386 ("release" build). Spearated module_init()
changes were tested on sparc and sparc64 as well by martin@ (thanks!).

Mailing list reference:

http://mail-index.netbsd.org/tech-kern/2009/09/25/msg006135.html
 1.6  16-Nov-2008  ad Sort output by name.
 1.5  15-Nov-2008  ad kernel -> builtin in output.
 1.4  14-Nov-2008  hira Add missing newline to usage.
 1.3  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.2  19-Jan-2008  ad branches: 1.2.2; 1.2.6; 1.2.8; 1.2.10;
Fix a dumb bug.
 1.1  16-Jan-2008  ad Pull in my modules code for review/test/hacking.
 1.2.10.1  18-May-2008  yamt sync with head.
 1.2.8.2  23-Mar-2008  matt sync with HEAD
 1.2.8.1  19-Jan-2008  matt file main.c was added on branch matt-armv6 on 2008-03-23 00:44:24 +0000
 1.2.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.2.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.2.2.2  18-Feb-2008  mjf Sync with HEAD.
 1.2.2.1  19-Jan-2008  mjf file main.c was added on branch mjf-devfs on 2008-02-18 21:04:17 +0000
 1.11.4.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.14.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.2.1  30-Oct-2012  yamt sync with head
 1.15.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.21.2.1  06-Aug-2016  pgoyette Sync with HEAD
 1.24.14.1  10-Jun-2019  christos Sync with HEAD
 1.24.12.3  07-Sep-2018  pgoyette At the request of reviewers, remove the module alias functionality.

We will rely only on module names and duplicate-symbol detection to
detect module conflicts.
 1.24.12.2  03-Apr-2018  pgoyette Remove fixed allocation of modules' "required" lists (previously
limited to MAXMODDEPS entries). Update the modctl(MODCTL_STAT)
syscall to return the required data in a new format, and retain
the previous data format in MODCTL_OSTAT. Update the compat_80
and compat_netbsd32 modules as needed.
 1.24.12.1  10-Mar-2018  pgoyette Update for new A-is-for-Alias flag value(s)

RSS XML Feed