Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Nov 2008 11:09:23 +0100
From:      Ed Schouten <ed@80386.nl>
To:        Alexej Sokolov <bsd.quest@googlemail.com>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: KLD loading, liking
Message-ID:  <20081116100923.GU81783@hoeg.nl>
In-Reply-To: <671bb5fc0811151927j6dcb5155oeffbf4cc95cbccb6@mail.gmail.com>
References:  <671bb5fc0811151927j6dcb5155oeffbf4cc95cbccb6@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--DvifzEOEABd5jzbd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

* Alexej Sokolov <bsd.quest@googlemail.com> wrote:
> sysinit_set -contain a structure with a pointer to function which will be
> called by loading of KLD

When you place SYSINIT() lines in your code, you can request functions
to be called when the code is loaded. There are also some macro's such
as MTX_SYSINIT(), which is a friendly wrapper around SYSINIT() which
initialises a mutex.

> modmetadata_set - what kind of information is there and which functions of
> linking/loading use it ?

Each loadable kernel module contains a structure that contains the
module name, but also a function pointer to the routine that contains
the module's load/unload function. If this function returns an error,
the kernel module will not be (un)loaded. Take a look at the simple
kernel modules such as snp(4).

> What exact does the macro MODULE_DEPEND ? The man page is to short, and I
> guess it tell no all things that the macro does.

MODULE_DEPEND is used to say: this kernel module also depends on another
module (i.e. the USB printer module depends on the USB code). Tools like
kldload can then automatically load the missing modules.

--=20
 Ed Schouten <ed@80386.nl>
 WWW: http://80386.nl/

--DvifzEOEABd5jzbd
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkkf8VMACgkQ52SDGA2eCwXCigCfbiphKlXh5vTMpycMsCvcAcnV
5g4AmQE8/fRTTrn653eOOb4PZH1P+aKC
=wvvJ
-----END PGP SIGNATURE-----

--DvifzEOEABd5jzbd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081116100923.GU81783>