Subject: Re: Question about modules
To: None <>
From: Julio M. Merino Vidal <>
List: tech-kern
Date: 08/28/2005 17:17:10
On 8/28/05, Hans Petter Selasky <> wrote:
> Hi,
> On FreeBSD they use the "__section__" attribute to do linking magic. But =
> NetBSD I am completely lost :-)
> 1) What is the logic behind linking modules?
> # pwd
> /usr/src/sys/lkm/vfs/adosfs
> # ls
> CVS             Makefile        lkminit_vfs.c
>                                 ^^^ is there some
>                        magic hidden in this filename?
> From where is the following function called:
> adosfs_lkmentry

I guess this is because the structure defined by the MOD_VFS
macro, whose name is _module.  See sys/lkm.h.

After the structure is defined with a known name, the kernel
can access it, get the vfs operations structure and call the
vfs_init function from there.

> Is this function also called when the module is
> in the kernel ?

If "this function" means vfs_init, then yes, it is called during
system startup as a result of the VFS_ATTACH macro.

> 2) Where is PSEUDO_SET defined?

Dunno; is that something FreeBSD specific?  The comment in
net/net_osdep.h that includes PSEUDO_SET in it may be of

Julio M. Merino Vidal <>
The NetBSD Project -