Date: Tue, 01 Mar 2011 12:01:48 -0800 From: Carl <k0802647@telus.net> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: listing all modules compiled into a kernel instance Message-ID: <4D6D50AC.701@telus.net> In-Reply-To: <201103010800.35666.jhb@freebsd.org> References: <4D6C78D3.5090803@telus.net> <198718A4-4A82-4FDB-A8F6-400F132A649E@gsoft.com.au> <201103010800.35666.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2011-03-01 3:20 AM, Maxim Khitrov wrote: > kldstat provides information about components that were loaded > dynamically. If your kernel was built with INCLUDE_CONFIG_FILE option > (enabled by default in GENERIC), then you can see the static > components using: > > config -x /boot/kernel/kernel As has been shown though, "kldstat -v" actually does show static components, at least those declared with DRIVER_MODULE(), and "config -x" does not improve on the situation at all because components like ucom were not cited in the configuration file. IMHO, there needs to be a reliable way to query an existing kernel that yields a _complete_ list of which components are actually included. On 2011-03-01 5:00 AM, John Baldwin wrote: >> Maybe ucom doesn't appear because it doesn't have a DRIVER_MODULE() >> declaration (because it isn't a driver). > > Yes, that would explain it. I can explicitly include ucom in a kernel by adding "device ucom" in the configuration file, in which case it would call DRIVER_MODULE(), right? That would then make it appear in the "kldstat -v" list? So why is it a driver when it's done explicitly, but not a driver when done implicitly? That makes no sense to me since the functionality doesn't change. IMHO, this is a bug that needs to be fixed, not just for ucom but any implicitly included driver. Who should submit a bug report? Carl / K0802647
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D6D50AC.701>