From owner-freebsd-current@FreeBSD.ORG Wed Jul 7 18:43:02 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 037C516A4CE for ; Wed, 7 Jul 2004 18:43:02 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id AD6A443D5C for ; Wed, 7 Jul 2004 18:43:01 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.11/8.12.11) with ESMTP id i67IgMVX066879; Wed, 7 Jul 2004 14:42:22 -0400 (EDT) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i67IgMZp066876; Wed, 7 Jul 2004 14:42:22 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Wed, 7 Jul 2004 14:42:22 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Alexander In-Reply-To: <1381764998.20040707134602@perespim.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org Subject: Re: Kernel modules X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2004 18:43:02 -0000 On Wed, 7 Jul 2004, Alexander wrote: > Does anyone know, what kernel parts may not be used in modules, and > should be compiled directly into the kernel? > > Thank you for your attention. Well, in general, the things that are built into modules can be loaded as modules. There are things that aren't currently modularized but could be, but building that list will require iterating the kernel. There's been a fair amount of interest lately in at leasting making things conditionally compilable, if not modularized, just because our kernel is big and there are environments where reducing its size would be useful, even if we build it in by default. For example, right now UFS ACL code is conditionally compiled, but we always link in the basic ACL infrastructure. We should add an "options ACL" that compiles in kern_acl.c and otherwise provides process-friendly "Oops, it's not there" behavior. Most current modules have a man page, and you can generate some basic module lists by looking in src/sys/modules, which includes the build infrastructure for the modules. Note that some sub-directories build more than one module. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research