Du hast zwei Kernelmodule gebaut
Unter FreeBSD ist es etwas anders als zum Beispiel unter Linux oder auch Windows, wenn man dort die Treiber als Module sieht. Dort ist immer ein Modul gleich einer Datei. Unter FreeBSD aber ist das nicht der Fall, für den Kernel ist ein Modul etwas anderes als für dich. Ich versuche es mal:
Für den Menschen ist ein Modul eine Datei mit der Endung .ko für "Kernel Object". Die Endung ist nur dazu da, damit du es von anderen Dingen unterscheiden kannst. Für das System aber ist diese Datei nichts anderes als ein ganz normales ELF-Image, wie jedes ausführbare Programm und jede beliebige Bibliothek:
Code:
yamagi@screw:pts/12 /boot/kernel: file zfs.ko [16:42:52]
zfs.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (FreeBSD), not stripped
Für das System aber ist dies nur ein Container, der ein oder mehrere Module enthalten kann. Zum Beispiel nehmen wir mal den Kernel selbst:
Code:
yamagi@screw:pts/12 /boot/kernel: file kernel [16:42:57]
kernel: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped
Code:
yamagi@screw:pts/12 /boot/kernel: kldstat | grep kernel [16:47:49]
1 226 0xffffffff80100000 61ce58 kernel
Der Kernel selbst ist also auch nur ein ELF-Image. Nun schauen wir uns die Ausgaben mal genau an. Der Kernel ist in gewisser Maßen ein Programm, genauso wie /bin/who zum Beispiel oder jedes andere. Die Kernelmodule entsprechen Bibliotheken, die in das Programm gelinkt werden. Wenn du eine Kernelconfig schreibst und den Kernel baust, sagst du praktisch nur, was fest in das Image eingebunden werden soll. Lädst du später ein .ko nach, wird alles darin dynamisch eingebunden. Alles weitere, die Initialisierung, der interne Aufbau, etc. ist gleich. Es macht daher für FreeBSD überhaupt keinen Unterschied, ob man nun ein Modul hat oder etwas fest in Kernel linkt.
Um es noch deutlicher zu machen, einmal "device crypto" im Kernel:
Code:
ffffffff8046bbb0 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___net_inet_ipsec_crypto_support
ffffffff805a02e0 l O .data 0000000000000050 sysctl___net_inet_ipsec_crypto_support
ffffffff80397d10 l F .text 0000000000000030 crypto_checkdriver
ffffffff8060e0b0 l O .bss 0000000000000008 crypto_drivers
ffffffff8060e0a8 l O .bss 0000000000000004 crypto_drivers_num
ffffffff80397db0 l F .text 00000000000000c9 crypto_tstat
ffffffff8060e180 l O .bss 0000000000000100 cryptostats
ffffffff8060e0a4 l O .bss 0000000000000004 crypto_timing
ffffffff8060e140 l O .bss 0000000000000020 crypto_ret_q_mtx
ffffffff80398030 l F .text 0000000000000134 crypto_terminate
ffffffff8060e0c0 l O .bss 0000000000000020 crypto_drivers_mtx
ffffffff80398170 l F .text 0000000000000089 crypto_finis
ffffffff80398420 l F .text 0000000000000107 crypto_destroy
ffffffff8060e170 l O .bss 0000000000000008 cryptoproc
ffffffff8060e178 l O .bss 0000000000000008 cryptoretproc
ffffffff8060e168 l O .bss 0000000000000008 cryptodesc_zone
ffffffff8060e160 l O .bss 0000000000000008 cryptop_zone
ffffffff8060e100 l O .bss 0000000000000020 crypto_q_mtx
ffffffff80399620 l F .text 000000000000033a crypto_proc
ffffffff80399d40 l F .text 0000000000000237 crypto_ret_proc
ffffffff803987e0 l F .text 000000000000001b crypto_remove
ffffffff803989b0 l F .text 00000000000002bd crypto_kinvoke
ffffffff80398da0 l F .text 0000000000000100 crypto_invoke
ffffffff8046c780 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_crypto_on_zlib
ffffffff805a1720 l O .data 0000000000000018 _mod_metadata_md_crypto_on_zlib
ffffffff8046c788 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_crypto_version
ffffffff805a1740 l O .data 0000000000000018 _mod_metadata_crypto_version
ffffffff8046bcb8 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___debug_crypto_timing
ffffffff805a1760 l O .data 0000000000000050 sysctl___debug_crypto_timing
ffffffff8046bcc0 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___kern_crypto_stats
ffffffff805a17c0 l O .data 0000000000000050 sysctl___kern_crypto_stats
ffffffff8046bcc8 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___kern_cryptodevallowsoft
ffffffff805a1860 l O .data 0000000000000050 sysctl___kern_cryptodevallowsoft
ffffffff8046bcd0 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___kern_userasymcrypto
ffffffff805a18c0 l O .data 0000000000000050 sysctl___kern_userasymcrypto
ffffffff805a1910 l O .data 000000000000000c _crypto_depend_on_zlib
ffffffff805a191c l O .data 0000000000000004 _crypto_version
ffffffff8046c790 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_cryptosoft_on_crypto
ffffffff805a19a0 l O .data 0000000000000018 _mod_metadata_md_cryptosoft_on_crypto
ffffffff8046c798 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_cryptosoft_version
ffffffff805a19c0 l O .data 0000000000000018 _mod_metadata_cryptosoft_version
ffffffff804694c8 l O set_sysinit_set 0000000000000008 __set_sysinit_set_sym_cryptosoft_nexusmodule_sys_init
ffffffff805a19e0 l O .data 0000000000000018 cryptosoft_nexusmodule_sys_init
ffffffff8046c7a0 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_cryptosoft_nexus
ffffffff805a1a00 l O .data 0000000000000018 _mod_metadata_md_cryptosoft_nexus
ffffffff8046c7a8 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_cryptosoft_nexus_on_kernel
ffffffff805a1a20 l O .data 0000000000000018 _mod_metadata_md_cryptosoft_nexus_on_kernel
ffffffff805a1a38 l O .data 000000000000000c _cryptosoft_depend_on_crypto
ffffffff805a1a44 l O .data 0000000000000004 _cryptosoft_version
ffffffff805a1a50 l O .data 0000000000000018 cryptosoft_nexus_mod
ffffffff805a1a68 l O .data 000000000000000c _cryptosoft_nexus_depend_on_kernel
ffffffff805a1a80 l O .data 0000000000000030 cryptosoft_nexus_driver_mod
ffffffff80399b20 g F .text 0000000000000139 crypto_dispatch
ffffffff805a1990 g O .data 0000000000000010 cryptodev_kprocess_desc
ffffffff8059feb4 g O .data 0000000000000004 crypto_support
ffffffff80399960 g F .text 00000000000000d5 crypto_getfeat
ffffffff80397e80 g F .text 00000000000001a7 crypto_done
ffffffff80397d90 g F .text 0000000000000017 crypto_getcaps
ffffffff80397cc0 g F .text 0000000000000041 crypto_copyback
ffffffff80399290 g F .text 000000000000011d crypto_find_driver
ffffffff805a1980 g O .data 0000000000000010 cryptodev_kprocess_method_default
ffffffff805a1960 g O .data 0000000000000010 cryptodev_process_method_default
ffffffff80398ef0 g F .text 0000000000000095 crypto_unregister_all
ffffffff80399f80 g F .text 000000000000007d crypto_getreq
ffffffff80398800 g F .text 00000000000001a5 crypto_kdone
ffffffff803993b0 g F .text 0000000000000262 crypto_get_driverid
ffffffff805a1930 g O .data 0000000000000010 cryptodev_newsession_desc
ffffffff80397d70 g F .text 0000000000000018 crypto_find_device_byhid
ffffffff805a1970 g O .data 0000000000000010 cryptodev_process_desc
ffffffff80398f90 g F .text 00000000000000e0 crypto_unregister
ffffffff80399190 g F .text 00000000000000f8 crypto_kregister
ffffffff805a1950 g O .data 0000000000000010 cryptodev_freesession_desc
ffffffff80398c70 g F .text 0000000000000129 crypto_freesession
ffffffff80397c70 g F .text 0000000000000041 crypto_copydata
ffffffff80399070 g F .text 0000000000000120 crypto_register
ffffffff80399a40 g F .text 00000000000000d3 crypto_kdispatch
ffffffff805a1920 g O .data 0000000000000010 cryptodev_newsession_method_default
ffffffff80399c60 g F .text 00000000000000db crypto_unblock
ffffffff805a16e0 g O .data 0000000000000004 crypto_userasymcrypto
ffffffff80397af0 g F .text 0000000000000040 crypto_apply
ffffffff80398ea0 g F .text 0000000000000050 crypto_freereq
ffffffff80398200 g F .text 0000000000000219 crypto_newsession
ffffffff8060e0a0 g O .bss 0000000000000004 crypto_devallowsoft
ffffffff805a1940 g O .data 0000000000000010 cryptodev_freesession_method_default
ffffffff80398530 g F .text 0000000000000256 crypto_modevent
und als Modul:
Code:
crypto.ko: file format elf64-x86-64
crypto.ko
0000000000000000 l F .text 0000000000000030 crypto_checkdriver
0000000000000010 l O .bss 0000000000000008 crypto_drivers
0000000000000008 l O .bss 0000000000000004 crypto_drivers_num
0000000000000020 l O .bss 0000000000000020 crypto_drivers_mtx
0000000000000140 l F .text 00000000000000c9 crypto_tstat
00000000000000e0 l O .bss 0000000000000100 cryptostats
0000000000000004 l O .bss 0000000000000004 crypto_timing
00000000000000a0 l O .bss 0000000000000020 crypto_ret_q_mtx
0000000000000060 l O .bss 0000000000000020 crypto_q_mtx
00000000000003f0 l F .text 00000000000000ad crypto_terminate
00000000000004a0 l F .text 000000000000004f crypto_finis
00000000000004f0 l F .text 00000000000001d9 crypto_ret_proc
00000000000000d8 l O .bss 0000000000000008 cryptoretproc
00000000000008b0 l F .text 00000000000000bd crypto_destroy
00000000000000d0 l O .bss 0000000000000008 cryptoproc
00000000000000c8 l O .bss 0000000000000008 cryptodesc_zone
00000000000000c0 l O .bss 0000000000000008 cryptop_zone
0000000000001340 l F .text 00000000000002fc crypto_proc
0000000000000d40 l F .text 000000000000001b crypto_remove
0000000000000e80 l F .text 000000000000022b crypto_kinvoke
0000000000001240 l F .text 0000000000000100 crypto_invoke
0000000000000000 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_crypto_on_zlib
0000000000000040 l O .data 0000000000000018 _mod_metadata_md_crypto_on_zlib
0000000000000008 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_crypto_version
0000000000000060 l O .data 0000000000000018 _mod_metadata_crypto_version
0000000000000000 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___debug_crypto_timing
0000000000000080 l O .data 0000000000000050 sysctl___debug_crypto_timing
0000000000000008 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___kern_crypto_stats
00000000000000e0 l O .data 0000000000000050 sysctl___kern_crypto_stats
0000000000000010 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___kern_cryptodevallowsoft
0000000000000180 l O .data 0000000000000050 sysctl___kern_cryptodevallowsoft
0000000000000018 l O set_sysctl_set 0000000000000008 __set_sysctl_set_sym_sysctl___kern_userasymcrypto
00000000000001e0 l O .data 0000000000000050 sysctl___kern_userasymcrypto
0000000000000230 l O .data 000000000000000c _crypto_depend_on_zlib
000000000000023c l O .data 0000000000000004 _crypto_version
0000000000000010 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_cryptosoft_on_crypto
00000000000002c0 l O .data 0000000000000018 _mod_metadata_md_cryptosoft_on_crypto
0000000000000018 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_cryptosoft_version
00000000000002e0 l O .data 0000000000000018 _mod_metadata_cryptosoft_version
0000000000000008 l O set_sysinit_set 0000000000000008 __set_sysinit_set_sym_cryptosoft_nexusmodule_sys_init
0000000000000300 l O .data 0000000000000018 cryptosoft_nexusmodule_sys_init
0000000000000020 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_cryptosoft_nexus
0000000000000320 l O .data 0000000000000018 _mod_metadata_md_cryptosoft_nexus
0000000000000028 l O set_modmetadata_set 0000000000000008 __set_modmetadata_set_sym__mod_metadata_md_cryptosoft_nexus_on_kernel
0000000000000340 l O .data 0000000000000018 _mod_metadata_md_cryptosoft_nexus_on_kernel
0000000000000358 l O .data 000000000000000c _cryptosoft_depend_on_crypto
0000000000000364 l O .data 0000000000000004 _cryptosoft_version
0000000000000370 l O .data 0000000000000018 cryptosoft_nexus_mod
0000000000000388 l O .data 000000000000000c _cryptosoft_nexus_depend_on_kernel
00000000000003a0 l O .data 0000000000000030 cryptosoft_nexus_driver_mod
0000000000001640 l F .text 00000000000000e7 crypto_dispatch
00000000000002b0 l O .data 0000000000000010 cryptodev_kprocess_desc
00000000000000a0 l F .text 000000000000009d crypto_getfeat
0000000000000210 l F .text 000000000000014c crypto_done
0000000000000080 l F .text 0000000000000017 crypto_getcaps
0000000000001f60 l F .text 0000000000000041 crypto_copyback
0000000000001930 l F .text 00000000000000ec crypto_find_driver
00000000000002a0 l O .data 0000000000000010 cryptodev_kprocess_method_default
0000000000000280 l O .data 0000000000000010 cryptodev_process_method_default
0000000000000c20 l F .text 0000000000000063 crypto_unregister_all
0000000000001c20 l F .text 000000000000007d crypto_getreq
0000000000000d60 l F .text 0000000000000115 crypto_kdone
0000000000001a20 l F .text 00000000000001f1 crypto_get_driverid
0000000000000250 l O .data 0000000000000010 cryptodev_newsession_desc
0000000000000060 l F .text 0000000000000018 crypto_find_device_byhid
0000000000000290 l O .data 0000000000000010 cryptodev_process_desc
0000000000000c90 l F .text 00000000000000ad crypto_unregister
0000000000001870 l F .text 00000000000000b8 crypto_kregister
0000000000000270 l O .data 0000000000000010 cryptodev_freesession_desc
0000000000001150 l F .text 00000000000000ef crypto_freesession
0000000000001f10 l F .text 0000000000000041 crypto_copydata
0000000000001780 l F .text 00000000000000e5 crypto_register
00000000000010b0 l F .text 000000000000009f crypto_kdispatch
0000000000000240 l O .data 0000000000000010 cryptodev_newsession_method_default
0000000000000360 l F .text 000000000000008e crypto_unblock
0000000000000000 l O .data 0000000000000004 crypto_userasymcrypto
0000000000001d90 l F .text 0000000000000040 crypto_apply
0000000000001730 l F .text 0000000000000050 crypto_freereq
00000000000006d0 l F .text 00000000000001d8 crypto_newsession
0000000000000000 l O .bss 0000000000000004 crypto_devallowsoft
0000000000000260 l O .data 0000000000000010 cryptodev_freesession_method_default
0000000000000970 l F .text 0000000000000258 crypto_modevent
00000000000000d5 R_X86_64_PC32 crypto_devallowsoft+0xfffffffffffffffc
0000000000000826 R_X86_64_PC32 cryptodev_newsession_desc+0xfffffffffffffffc
0000000000000845 R_X86_64_32S cryptodev_newsession_desc
0000000000000859 R_X86_64_32S cryptodev_newsession_desc
0000000000000ebd R_X86_64_PC32 crypto_devallowsoft+0xfffffffffffffffc
0000000000000f98 R_X86_64_PC32 crypto_kdone+0xfffffffffffffffc
0000000000000fc8 R_X86_64_PC32 crypto_devallowsoft+0xfffffffffffffffc
000000000000102a R_X86_64_PC32 cryptodev_kprocess_desc+0xfffffffffffffffc
0000000000001039 R_X86_64_32S cryptodev_kprocess_desc
000000000000104d R_X86_64_32S cryptodev_kprocess_desc
00000000000011cb R_X86_64_PC32 cryptodev_freesession_desc+0xfffffffffffffffc
00000000000011da R_X86_64_32S cryptodev_freesession_desc
00000000000011ee R_X86_64_32S cryptodev_freesession_desc
0000000000001274 R_X86_64_PC32 cryptodev_process_desc+0xfffffffffffffffc
0000000000001282 R_X86_64_32S cryptodev_process_desc
0000000000001296 R_X86_64_32S cryptodev_process_desc
00000000000012dd R_X86_64_PC32 crypto_freesession+0xfffffffffffffffc
0000000000001317 R_X86_64_PC32 crypto_newsession+0xfffffffffffffffc
0000000000001335 R_X86_64_PC32 crypto_done+0xfffffffffffffffc
0000000000001c8b R_X86_64_PC32 crypto_freereq+0xfffffffffffffffc
0000000000002216 R_X86_64_PC32 crypto_done+0xfffffffffffffffc
000000000000231f R_X86_64_PC32 crypto_copydata+0xfffffffffffffffc
0000000000002391 R_X86_64_PC32 crypto_copyback+0xfffffffffffffffc
00000000000024f7 R_X86_64_PC32 crypto_apply+0xfffffffffffffffc
0000000000002595 R_X86_64_PC32 crypto_copyback+0xfffffffffffffffc
000000000000288d R_X86_64_PC32 crypto_copydata+0xfffffffffffffffc
0000000000003115 R_X86_64_PC32 crypto_copyback+0xfffffffffffffffc
00000000000037db R_X86_64_PC32 crypto_unregister_all+0xfffffffffffffffc
00000000000038f1 R_X86_64_PC32 crypto_get_driverid+0xfffffffffffffffc
0000000000003928 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
000000000000393c R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003950 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003964 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003978 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
000000000000398c R_X86_64_PC32 crypto_register+0xfffffffffffffffc
00000000000039a0 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
00000000000039b4 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
00000000000039c8 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
00000000000039dc R_X86_64_PC32 crypto_register+0xfffffffffffffffc
00000000000039f0 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a04 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a18 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a2c R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a40 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a54 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a68 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a7c R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003a90 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000003aa4 R_X86_64_PC32 crypto_register+0xfffffffffffffffc
0000000000000198 R_X86_64_64 crypto_devallowsoft
00000000000001f8 R_X86_64_64 crypto_userasymcrypto
0000000000000240 R_X86_64_64 cryptodev_newsession_desc
0000000000000258 R_X86_64_64 cryptodev_newsession_method_default
0000000000000260 R_X86_64_64 cryptodev_freesession_desc
0000000000000278 R_X86_64_64 cryptodev_freesession_method_default
0000000000000280 R_X86_64_64 cryptodev_process_desc
0000000000000298 R_X86_64_64 cryptodev_process_method_default
00000000000002a0 R_X86_64_64 cryptodev_kprocess_desc
00000000000002b8 R_X86_64_64 cryptodev_kprocess_method_default
00000000000003a0 R_X86_64_64 crypto_modevent
0000000000000460 R_X86_64_64 cryptodev_newsession_desc
0000000000000470 R_X86_64_64 cryptodev_freesession_desc
0000000000000480 R_X86_64_64 cryptodev_process_desc
Die Gemeinsamkeiten sind kein Zufall.
So, nachdem das nun geklärt, kommen wir zu deinem Modul. Du hast also aus Sicht des Kernel zwei Module gebaut, die aber in einer Datei zusammengefasst. Dadurch brauchst du gewisse Dinge, die sich auf die Dateien beziehen, nur einmal oder gar nicht. So werden zum Beispiel die Abhängigkeiten der Symbole in dem Fall automatisch korrekt aufgelöst, da du nur beide Module laden kannst oder gar keines.
Übrigens machen viele Module es so. Sie klatschen einfach alles, was eh nur sie selbst benötigen, in eine Datei. Nur Dinge, die auch von anderen benötigt werden, bekommen eigene Dateien:
Code:
#yamagi@screw:pts/12 /boot/kernel:kldstat -v [17:04:05]
Id Refs Address Size Name
1 226 0xffffffff80100000 61ce58 kernel (/boot/kernel/kernel)
Contains modules:
Id Name
193 msgget
206 freebsd7_shmctl
205 shmat
204 shmctl
203 shmdt
202 shmget
192 msgsnd
191 msgrcv
200 __semctl
199 semget
198 semop
188 freebsd7_msgctl
196 semsys
195 freebsd7___semctl
189 msgsys
194 msgctl
209 loop
184 elf64
185 shell
240 elf32
212 mld
211 igmp
190 sysvmsg
207 sem
197 sysvsem
201 sysvshm
176 devfs
151 acpi/acpi_isab
186 cpu/cpufreq
175 watchdog
157 cpu/acpi_perf
174 pci/vgapci
173 pci/pcib
172 pcib/pci
146 acpi/acpi_button
156 pci/acpi_pcib
155 acpi/acpi_pcib
150 acpi/acpi_hpet
148 acpi/cpu
144 nexus/acpi
239 isa/vga
171 pci/isab
238 isa/sc
237 isa/atrtc
236 acpi/atrtc
235 scrndr-vga
234 scterm-scteken
170 pci/ignore_pci
233 isa/atkbdc
232 acpi/atkbdc
231 atkbdc/atkbd
169 pci/hostb
230 legacy/pcib
229 isa/pcibus_pnp
228 isa/atdma
227 acpi/atdma
226 legacy/isa
183 isa/orm
225 isa/attimer
224 acpi/attimer
168 pci/fixup_pci
182 isab/isa
181 eisab/isa
223 root/nexus
222 nexus/ram
221 isa/sysresource
167 pci/eisab
166 null
213 nexus/cryptosoft
145 acpi/acpi_acad
154 acpi/acpi_pci_link
165 eisa/mainboard
164 eisab/eisa
220 nexus/legacy
219 legacy/cpu
163 legacy/eisa
218 pci/ioapic
217 nexus/apic
162 acpi/acpi_timer
216 acpi/fpupnp
161 cpu/acpi_throttle
160 acpi/acpi_tz
147 acpi/acpi_cmbat
153 pcib/acpi_pci
159 acpi/acpi_smbat
158 acpi/acpi_sysresource
149 acpi/acpi_ec
152 acpi/acpi_lid
215 root/nexus_acpi
187 rootbus
178 g_disk
214 g_class
180 g_part
179 g_vfs
210 zlib
177 g_dev
208 ether
2 2 0xffffffff8071d000 c630 cd9660.ko (/boot/kernel/cd9660.ko)
Contains modules:
Id Name
1 cd9660
3 2 0xffffffff8072a000 15548 msdosfs.ko (/boot/kernel/msdosfs.ko)
Contains modules:
Id Name
2 msdosfs
4 2 0xffffffff80740000 2d7f0 nfsclient.ko (/boot/kernel/nfsclient.ko)
Contains modules:
Id Name
5 nfs
4 nfslock
5 4 0xffffffff8076e000 20458 krpc.ko (/boot/kernel/krpc.ko)
Contains modules:
Id Name
3 krpc
6 1 0xffffffff8078f000 26bf8 nfsserver.ko (/boot/kernel/nfsserver.ko)
Contains modules:
Id Name
7 nfsserver
7 2 0xffffffff807b6000 10b0 nfssvc.ko (/boot/kernel/nfssvc.ko)
Contains modules:
Id Name
6 nfssvc
8 1 0xffffffff807b8000 8290 procfs.ko (/boot/kernel/procfs.ko)
Contains modules:
Id Name
9 procfs
9 2 0xffffffff807c1000 94e0 pseudofs.ko (/boot/kernel/pseudofs.ko)
Contains modules:
Id Name
8 pseudofs
10 1 0xffffffff807cb000 196a0 geom_eli.ko (/boot/kernel/geom_eli.ko)
Contains modules:
Id Name
10 g_eli
11 1 0xffffffff807e5000 8778 geom_label.ko (/boot/kernel/geom_label.ko)
Contains modules:
Id Name
11 g_label
12 2 0xffffffff807ee000 41358 linux.ko (/boot/kernel/linux.ko)
Contains modules:
Id Name
12 linuxelf
13 1 0xffffffff80830000 70a0 if_tap.ko (/boot/kernel/if_tap.ko)
Contains modules:
Id Name
13 if_tap
14 1 0xffffffff80838000 71a8 if_tun.ko (/boot/kernel/if_tun.ko)
Contains modules:
Id Name
14 if_tun
15 2 0xffffffff80840000 3d3f0 miibus.ko (/boot/kernel/miibus.ko)
Contains modules:
Id Name
43 miibus/xmphy
42 miibus/ukphy
41 miibus/truephy
40 miibus/tlphy
39 miibus/tdkphy
38 miibus/ruephy
37 miibus/rlphy
36 miibus/rgephy
35 miibus/qsphy
34 miibus/pnaphy
33 miibus/nsphyter
32 miibus/nsphy
31 miibus/nsgphy
30 miibus/mlphy
29 miibus/lxtphy
28 miibus/jmphy
27 miibus/ip1000phy
26 miibus/inphy
25 miibus/icsphy
24 miibus/gentbi
23 miibus/xlphy
22 miibus/e1000phy
21 miibus/ciphy
20 miibus/brgphy
19 miibus/bmtphy
18 miibus/axphy
17 miibus/atphy
16 miibus/amphy
15 miibus/acphy
16 1 0xffffffff8087e000 76350 if_ath.ko (/boot/kernel/if_ath.ko)
Contains modules:
Id Name
46 pci/ath
17 4 0xffffffff808f5000 58810 wlan.ko (/boot/kernel/wlan.ko)
Contains modules:
Id Name
45 wlan_sta
44 wlan
18 1 0xffffffff8094e000 f4c0 if_nfe.ko (/boot/kernel/if_nfe.ko)
Contains modules:
Id Name
48 pci/nfe
47 nfe/miibus
19 4 0xffffffff8095e000 756b0 sound.ko (/boot/kernel/sound.ko)
Contains modules:
Id Name
49 sound
50 midi
20 1 0xffffffff809d4000 a138 snd_envy24ht.ko (/boot/kernel/snd_envy24ht.ko)
Contains modules:
Id Name
51 pci/snd_envy24ht
21 2 0xffffffff809df000 1be8 snd_spicds.ko (/boot/kernel/snd_spicds.ko)
Contains modules:
Id Name
22 1 0xffffffff809e1000 7780 snd_ich.ko (/boot/kernel/snd_ich.ko)
Contains modules:
Id Name
52 pci/snd_ich
23 6 0xffffffff809e9000 405d8 usb.ko (/boot/kernel/usb.ko)
Contains modules:
Id Name
60 usbus/uhub
59 uhub/uhub
58 uhub/usb_linux
57 ohci/usbus
56 uhci/usbus
55 ehci/usbus
54 at91_udp/usbus
53 uss820/usbus
24 1 0xffffffff80a2a000 8d48 ukbd.ko (/boot/kernel/ukbd.ko)
Contains modules:
Id Name
61 uhub/ukbd
25 1 0xffffffff80a33000 5010 ums.ko (/boot/kernel/ums.ko)
Contains modules:
Id Name
62 uhub/ums
26 1 0xffffffff80a39000 100e0 umass.ko (/boot/kernel/umass.ko)
Contains modules:
Id Name
78 uhub/umass
27 3 0xffffffff80a4a000 75378 cam.ko (/boot/kernel/cam.ko)
Contains modules:
Id Name
63 cam
67 da
77 ada
76 aprobe
66 ch
75 probe
74 targ
64 xpt
65 cd
73 targbh
72 sg
71 ses
70 sa
69 pt
68 pass
28 2 0xffffffff80ac0000 12c98 agp.ko (/boot/kernel/agp.ko)
Contains modules:
Id Name
81 hostb/agp_via
80 vgapci/agp_i810
79 hostb/agp_amd64
29 1 0xffffffff80ad3000 f3c8 random.ko (/boot/kernel/random.ko)
Contains modules:
Id Name
82 random
30 1 0xffffffff80ae3000 27e0 amdtemp.ko (/boot/kernel/amdtemp.ko)
Contains modules:
Id Name
83 hostb/amdtemp
31 1 0xffffffff80ae6000 2868 geom_part_bsd.ko (/boot/kernel/geom_part_bsd.ko)
Contains modules:
Id Name
84 g_part_bsd
32 1 0xffffffff80ae9000 27f8 geom_part_mbr.ko (/boot/kernel/geom_part_mbr.ko)
Contains modules:
Id Name
85 g_part_mbr
33 1 0xffffffff80aec000 4fd8 geom_part_gpt.ko (/boot/kernel/geom_part_gpt.ko)
Contains modules:
Id Name
86 g_part_gpt
34 6 0xffffffff80af1000 15428 ata.ko (/boot/kernel/ata.ko)
Contains modules:
Id Name
87 ata
35 3 0xffffffff80b07000 a5f0 atapci.ko (/boot/kernel/atapci.ko)
Contains modules:
Id Name
89 pci/atapci
88 atapci/ata
36 1 0xffffffff80b12000 4070 atadisk.ko (/boot/kernel/atadisk.ko)
Contains modules:
Id Name
90 ata/ad
37 2 0xffffffff80b17000 60f8 ataahci.ko (/boot/kernel/ataahci.ko)
Contains modules:
Id Name
91 pci/ata_ahci
38 1 0xffffffff80b1e000 4200 atanvidia.ko (/boot/kernel/atanvidia.ko)
Contains modules:
Id Name
92 pci/ata_nvidia
39 3 0xffffffff80b23000 3c68 mem.ko (/boot/kernel/mem.ko)
Contains modules:
Id Name
93 mem
40 2 0xffffffff80b27000 ef0 io.ko (/boot/kernel/io.ko)
Contains modules:
Id Name
94 io
41 1 0xffffffff80b28000 5278 atapicam.ko (/boot/kernel/atapicam.ko)
Contains modules:
Id Name
95 ata/atapicam
42 1 0xffffffff80b2e000 20f78 firewire.ko (/boot/kernel/firewire.ko)
Contains modules:
Id Name
97 pci/fwohci
96 fwohci/firewire
43 1 0xffffffff80b4f000 19998 nfslockd.ko (/boot/kernel/nfslockd.ko)
Contains modules:
Id Name
98 nfslockd
44 2 0xffffffff80b69000 24e0 smbus.ko (/boot/kernel/smbus.ko)
Contains modules:
Id Name
45 1 0xffffffff80b6c000 4c80 nfsmb.ko (/boot/kernel/nfsmb.ko)
Contains modules:
Id Name
101 pci/nfsmb
100 nfsmb/nfsmb
99 nfsmb/smbus
46 2 0xffffffff80b71000 9970 ppbus.ko (/boot/kernel/ppbus.ko)
Contains modules:
Id Name
102 ppc/ppbus
47 1 0xffffffff80b7b000 8c68 ppc.ko (/boot/kernel/ppc.ko)
Contains modules:
Id Name
106 isa/ppc
105 acpi/ppc
104 puc/ppc
103 pci/ppc
48 1 0xffffffff80b84000 10008 cpufreq.ko (/boot/kernel/cpufreq.ko)
Contains modules:
Id Name
111 cpu/powernow
110 cpu/p4tcc
109 cpu/hwpstate
108 cpu/est
107 cpu/ichss
49 1 0xffffffff80b95000 dd70 fdc.ko (/boot/kernel/fdc.ko)
Contains modules:
Id Name
115 acpi/fdc
114 pccard/fdc
113 isa/fdc
112 fdc/fd
50 1 0xffffffff80ba3000 2980 cpuctl.ko (/boot/kernel/cpuctl.ko)
Contains modules:
Id Name
116 cpuctl
51 1 0xffffffff80ba6000 12750 ehci.ko (/boot/kernel/ehci.ko)
Contains modules:
Id Name
117 pci/ehci
52 1 0xffffffff80bb9000 e030 ohci.ko (/boot/kernel/ohci.ko)
Contains modules:
Id Name
118 pci/ohci
53 1 0xffffffff80bc8000 6258 kbdmux.ko (/boot/kernel/kbdmux.ko)
Contains modules:
Id Name
119 kbdmux
54 1 0xffffffff80bcf000 c9c8 if_bridge.ko (/boot/kernel/if_bridge.ko)
Contains modules:
Id Name
121 if_bridge
55 2 0xffffffff80bdc000 66d8 bridgestp.ko (/boot/kernel/bridgestp.ko)
Contains modules:
Id Name
120 bridgestp
56 1 0xffffffff80be3000 3840 wlan_tkip.ko (/boot/kernel/wlan_tkip.ko)
Contains modules:
Id Name
122 wlan_tkip
57 1 0xffffffff80be7000 15d0 wlan_amrr.ko (/boot/kernel/wlan_amrr.ko)
Contains modules:
Id Name
123 wlan_amrr
58 2 0xffffffff80be9000 22a78 drm.ko (/boot/kernel/drm.ko)
Contains modules:
Id Name
59 1 0xffffffff80c0c000 71608 radeon.ko (/boot/kernel/radeon.ko)
Contains modules:
Id Name
124 vgapci/radeon
60 1 0xffffffff80c7e000 627d8 ufs.ko (/boot/kernel/ufs.ko)
Contains modules:
Id Name
125 ufs
61 1 0xffffffff80ce1000 180c0 uart.ko (/boot/kernel/uart.ko)
Contains modules:
Id Name
131 scc/uart
130 puc/uart
129 pci/uart
128 pccard/uart
127 isa/uart
126 acpi/uart
62 3 0xffffffff80cfa000 41e88 vboxdrv.ko (/boot/modules/vboxdrv.ko)
Contains modules:
Id Name
132 vboxdrv
63 1 0xffffffff80d3c000 2650 vboxnetadp.ko (/boot/modules/vboxnetadp.ko)
Contains modules:
Id Name
135 vboxnetadp
64 2 0xffffffff80d3f000 6960 vboxnetflt.ko (/boot/modules/vboxnetflt.ko)
Contains modules:
Id Name
65 2 0xffffffff80d46000 14db8 netgraph.ko (/boot/kernel/netgraph.ko)
Contains modules:
Id Name
133 netgraph
66 1 0xffffffff80d5b000 15e20 fuse.ko (/boot/modules/fuse.ko)
Contains modules:
Id Name
136 fuse
67 1 0xffffffff80d71000 1020 msdosfs_iconv.ko (/boot/kernel/msdosfs_iconv.ko)
Contains modules:
Id Name
140 msdosfs_iconv
68 3 0xffffffff80d73000 6c70 libiconv.ko (/boot/kernel/libiconv.ko)
Contains modules:
Id Name
139 iconv_xlat16
138 iconv_xlat
137 iconv
69 1 0xffffffff80d7a000 1000 cd9660_iconv.ko (/boot/kernel/cd9660_iconv.ko)
Contains modules:
Id Name
141 cd9660_iconv
70 1 0xffffffff80d7b000 1e88 mono.ko (/boot/modules/mono.ko)
Contains modules:
Id Name
142 mono
71 1 0xffffffff80d7d000 d3cf48 nvidia.ko (/boot/modules/nvidia.ko)
Contains modules:
Id Name
143 vgapci/nvidia