Date: Sun, 12 Sep 2004 20:00:50 +0200 From: Marc "UBM" Bocklet <ubm@u-boot-man.de> To: current@freebsd.org Subject: panic with BETA4, bridge.ko and WITNESS Message-ID: <20040912200050.160b3b34.ubm@u-boot-man.de>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hiho! :-)
I just cvsupped and updated to BETA4.
For the fun of it, I deciced to put WITNESS and INVARIANTS in the
kernel.
When rebooting, I promptly encountered three sucessive LORs and a panic:
panic: _mtx_lock_sleep: recursed on non-recursive mutex bridge @
/usr/src/sys/mo dules/bridge/../../net/bridge.c:940
cpuid = 1
KDB: enter: panic
[thread 100052]
Stopped at kdb_enter+0x30: leave
Trace, LORs, config, etc. are attached to my mail. (sorry for the
mangled output, but I had to use HyperTerminal)
There is no panic at all if I load bridge.ko after the boot process or
if I don't load it at all. I did not yet try what happens if bridge is
compiled into the kernel.
root@greatsheep:/home/sheep# uname -a
FreeBSD greatsheep 5.3-BETA4 FreeBSD 5.3-BETA4 #6: Sun Sep 12 17:08:39
CEST 2004 root@greatsheep:/usr/obj/usr/src/sys/SUBMARINE_SMP i386
Bye
Marc
--
"And what rough beast, its hour come round at last,
Slouches towards Bethlehem to be born?"
W.B. Yeats, The Second Coming
[-- Attachment #2 --]
net.link.ether.bridge_cfg: malloc(M_WAITOK) of "64", forcing M_NOWAIT with the f
ollowing non-sleepable locks held:
exclusive sleep mutex ifnet r = 0 (0xc083a680) locked @ /usr/src/sys/net/if.c:69
9
exclusive sleep mutex bridge r = 0 (0xc09157c0) locked @ /usr/src/sys/modules/br
idge/../../net/bridge.c:594
KDB: stack backtrace:
kdb_backtrace(c083994c,d5468874,1,1,2) at kdb_backtrace+0x2e
witness_warn(5,0,c07b7d62,c07a56ff,c1d7d060) at witness_warn+0x1d3
uma_zalloc_arg(c1033580,0,102,c1045a00,d546890c) at uma_zalloc_arg+0x55
malloc(36,c07ea3a0,102,0,d546890c) at malloc+0xd6
ether_resolvemulti(c1a7b000,d54688e4,d546890c,0,d5468964) at ether_resolvemulti+
0x147
if_addmulti(c1a7b000,d546890c,d5468908,0,1c1c) at if_addmulti+0x7b
in6_addmulti(d546896c,c1a7b000,d5468964,1,0) at in6_addmulti+0x5d
in6_update_ifa(c1a7b000,d5468a70,0,1,0) at in6_update_ifa+0x5ef
in6_ifattach_linklocal(c1a7b000,0,c19f2390,c05ce36b,c07ebfa8) at in6_ifattach_li
nklocal+0x116
in6_ifattach(c1a7b000,0,c195c400,0,0) at in6_ifattach+0xcc
in6_if_up(c1a7b000,c195c4a0) at in6_if_up+0x1b
if_route(c1a7b000,1,0,d5468b90,c09121b8) at if_route+0x67
if_up(c1a7b000,0,c0913d70,1aa,0) at if_up+0x21
bridge_on(c09157c0,1,c0913d70,1ce,d5468bc8) at bridge_on+0x88
reconfigure_bridge_locked(c1c57400,c0917620,400,252,d5468c10) at reconfigure_bri
dge_locked+0x7a
sysctl_bdg_cfg(c0915660,c0917620,400,d5468c10,d5468c10) at sysctl_bdg_cfg+0xba
sysctl_root(0,d5468c7c,4,d5468c10,c19f2320) at sysctl_root+0x154
userland_sysctl(c19f2320,d5468c7c,4,0,0) at userland_sysctl+0x12c
__sysctl(c19f2320,d5468d14,18,431,6) at __sysctl+0xaf
syscall(2f,2f,2f,0,bfbfedd0) at syscall+0x2a0
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x280d497f, esp = 0xbfbfe53c,
ebp = 0xbfbfe568 ---
malloc(M_WAITOK) of "32", forcing M_NOWAIT with the following non-sleepable lock
s held:
exclusive sleep mutex ifnet r = 0 (0xc083a680) locked @ /usr/src/sys/net/if.c:69
9
exclusive sleep mutex bridge r = 0 (0xc09157c0) locked @ /usr/src/sys/modules/br
idge/../../net/bridge.c:594
KDB: stack backtrace:
kdb_backtrace(c083994c,d5468894,1,1,2) at kdb_backtrace+0x2e
witness_warn(5,0,c07b7d62,c0791d89,40) at witness_warn+0x1d3
uma_zalloc_arg(c1033420,0,2,c1045960,0) at uma_zalloc_arg+0x55
malloc(1c,c07ea3a0,2,c1ca6180,d5468964) at malloc+0xd6
if_addmulti(c1a7b000,d546890c,d5468908,0,1c1c) at if_addmulti+0xaa
in6_addmulti(d546896c,c1a7b000,d5468964,1,0) at in6_addmulti+0x5d
in6_update_ifa(c1a7b000,d5468a70,0,1,0) at in6_update_ifa+0x5ef
in6_ifattach_linklocal(c1a7b000,0,c19f2390,c05ce36b,c07ebfa8) at in6_ifattach_li
nklocal+0x116
in6_ifattach(c1a7b000,0,c195c400,0,0) at in6_ifattach+0xcc
in6_if_up(c1a7b000,c195c4a0) at in6_if_up+0x1b
if_route(c1a7b000,1,0,d5468b90,c09121b8) at if_route+0x67
if_up(c1a7b000,0,c0913d70,1aa,0) at if_up+0x21
bridge_on(c09157c0,1,c0913d70,1ce,d5468bc8) at bridge_on+0x88
reconfigure_bridge_locked(c1c57400,c0917620,400,252,d5468c10) at reconfigure_bri
dge_locked+0x7a
sysctl_bdg_cfg(c0915660,c0917620,400,d5468c10,d5468c10) at sysctl_bdg_cfg+0xba
sysctl_root(0,d5468c7c,4,d5468c10,c19f2320) at sysctl_root+0x154
userland_sysctl(c19f2320,d5468c7c,4,0,0) at userland_sysctl+0x12c
__sysctl(c19f2320,d5468d14,18,431,6) at __sysctl+0xaf
syscall(2f,2f,2f,0,bfbfedd0) at syscall+0x2a0
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x280d497f, esp = 0xbfbfe53c,
ebp = 0xbfbfe568 ---
malloc(M_WAITOK) of "32", forcing M_NOWAIT with the following non-sleepable lock
s held:
exclusive sleep mutex ifnet r = 0 (0xc083a680) locked @ /usr/src/sys/net/if.c:69
9
exclusive sleep mutex bridge r = 0 (0xc09157c0) locked @ /usr/src/sys/modules/br
idge/../../net/bridge.c:594
KDB: stack backtrace:
kdb_backtrace(c083994c,d5468894,1,1,2) at kdb_backtrace+0x2e
witness_warn(5,0,c07b7d62,c0791d89,c079f4ed) at witness_warn+0x1d3
uma_zalloc_arg(c1033420,0,2,c1045960,c1c49180) at uma_zalloc_arg+0x55
malloc(1c,c07ea3a0,2,c1ca6180,d5468964) at malloc+0xd6
if_addmulti(c1a7b000,d546890c,d5468908,0,1c1c) at if_addmulti+0xc7
in6_addmulti(d546896c,c1a7b000,d5468964,1,0) at in6_addmulti+0x5d
in6_update_ifa(c1a7b000,d5468a70,0,1,0) at in6_update_ifa+0x5ef
in6_ifattach_linklocal(c1a7b000,0,c19f2390,c05ce36b,c07ebfa8) at in6_ifattach_li
nklocal+0x116
in6_ifattach(c1a7b000,0,c195c400,0,0) at in6_ifattach+0xcc
in6_if_up(c1a7b000,c195c4a0) at in6_if_up+0x1b
if_route(c1a7b000,1,0,d5468b90,c09121b8) at if_route+0x67
if_up(c1a7b000,0,c0913d70,1aa,0) at if_up+0x21
bridge_on(c09157c0,1,c0913d70,1ce,d5468bc8) at bridge_on+0x88
reconfigure_bridge_locked(c1c57400,c0917620,400,252,d5468c10) at reconfigure_bri
dge_locked+0x7a
sysctl_bdg_cfg(c0915660,c0917620,400,d5468c10,d5468c10) at sysctl_bdg_cfg+0x1a7b
000,d5468964,1,0) at in6_addmulti+0x5d
in6_update_ifa(c1a7b000,d5468a70,0,1,0) at in6_update_ifa+0x5ef
in6_ifattach_linklocal(c1a7b000,0,c19f2390,c05ce36b,c07ebfa8) at in6_ifattach_li
nklocal+0x116
in6_ifattach(c1a7b000,0,c195c400,0,0) at in6_ifattach+0xcc
in6_if_up(c1a7b000,c195c4a0) at in6_if_up+0x1b
if_route(c1a7b000,1,0,d5468b90,c09121b8) at if_route+0x67
if_up(c1a7b000,0,c0913d70,1aa,0) at if_up+0x21
bridge_on(c09157c0,1,c0913d70,1ce,d5468bc8) at bridge_on+0x88
reconfigure_bridge_locked(c1c57400,c0917620,400,252,d5468c10) at reconfigure_bri
dge_locked+0x7a
sysctl_bdg_cfg(c0915660,c0917620,400,d5468c10,d5468c10) at sysctl_bdg_cfg+0xba
sysctl_root(0,d5468c7c,4,d5468c10,c19f2320) at sysctl_root+0x154
userland_sysctl(c19f2320,d5468c7c,4,0,0) at userland_sysctl+0x12c
__sysctl(c19f2320,d5468d14,18,431,6) at __sysctl+0xaf
syscall(2f,2f,2f,0,bfbfedd0) at syscall+0x2a0
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x280d497f, esp = 0xbfbfe53c,
ebp = 0xbfbfe568 ---
panic: _mtx_lock_sleep: recursed on non-recursive mutex bridge @ /usr/src/sys/mo
dules/bridge/../../net/bridge.c:940
cpuid = 1
KDB: enter: panic
[thread 100052]
Stopped at kdb_enter+0x30: leave
[-- Attachment #3 --]
db> show locks
exclusive sleep mutex ifnet r = 0 (0xc083a680) locked @ /usr/src/sys/net/if.c:699
exclusive sleep mutex bridge r = 0 (0xc09157c0) locked @ /usr/src/sys/modules/bridge/../../net/bridge.c:594
exclusive sx sysctl lock r = 0 (0xc080f5a0) locked @ /usr/src/sys/kern/kern_sysctl.c:1315
exclusive sleep mutex Giant r = 0 (0xc080dd00) locked @ /usr/src/sys/kern/kern_sysctl.c:1255
db>
[-- Attachment #4 --]
db> tr
kdb_enter(c07a0ebc,1,c07a02fb,d54685f4,c19f2320) at kdb_enter+0x30
panic(c07a02fb,c0913c83,c0913d70,3ac,c09157c0) at panic+0x14e
_mtx_lock_sleep(c09157c0,c19f2320,0,c0913d70,3ac) at _mtx_lock_sleep+0x44
_mtx_lock_flags(c09157c0,0,c0913d70,3ac,0) at _mtx_lock_flags+0xc0
bdg_forward(c1d86800,c1a7b000,c07b7acb,d54686f0,c05cce86) at bdg_forward+0xb0
ether_output_frame(c1a7b000,c1d86800,6,d546885c,d5468708) at ether_output_frame+
0x99
ether_output(c1a7b000,c1d86800,d546885c,0,0) at ether_output+0x43e
nd6_output(c1a7b000,c1a7b000,c1d86800,d546885c,0) at nd6_output+0x3c1
ip6_output(c1d86800,c0840b40,0,0,d54688c0) at ip6_output+0xf77
mld6_sendpkt(c1ca6200,83,0,c1ca6200,d5468938) at mld6_sendpkt+0x272
mld6_start_listening(c1ca6200,2c,1,c1c49180,1c1c) at mld6_start_listening+0x78
in6_addmulti(d546896c,c1a7b000,d5468964,1,0) at in6_addmulti+0x10f
in6_update_ifa(c1a7b000,d5468a70,0,1,0) at in6_update_ifa+0x5ef
in6_ifattach_linklocal(c1a7b000,0,c19f2390,c05ce36b,c07ebfa8) at in6_ifattach_li
nklocal+0x116
in6_ifattach(c1a7b000,0,c195c400,0,0) at in6_ifattach+0xcc
in6_if_up(c1a7b000,c195c4a0) at in6_if_up+0x1b
if_route(c1a7b000,1,0,d5468b90,c09121b8) at if_route+0x67
if_up(c1a7b000,0,c0913d70,1aa,0) at if_up+0x21
bridge_on(c09157c0,1,c0913d70,1ce,d5468bc8) at bridge_on+0x88
reconfigure_bridge_locked(c1c57400,c0917620,400,252,d5468c10) at reconfigure_bri
dge_locked+0x7a
sysctl_bdg_cfg(c0915660,c0917620,400,d5468c10,d5468c10) at sysctl_bdg_cfg+0xba
sysctl_root(0,d5468c7c,4,d5468c10,c19f2320) at sysctl_root+0x154
userland_sysctl(c19f2320,d5468c7c,4,0,0) at userland_sysctl+0x12c
__sysctl(c19f2320,d5468d14,18,431,6) at __sysctl+0xaf
syscall(2f,2f,2f,0,bfbfedd0) at syscall+0x2a0
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x280d497f, esp = 0xbfbfe53c,
ebp = 0xbfbfe568 ---
[-- Attachment #5 --]
Copyright (c) 1992-2004 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.3-BETA4 #6: Sun Sep 12 17:08:39 CEST 2004
root@greatsheep:/usr/obj/usr/src/sys/SUBMARINE_SMP
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Pentium III/Pentium III Xeon/Celeron (451.02-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x673 Stepping = 3
Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory = 536739840 (511 MB)
avail memory = 515674112 (491 MB)
ACPI APIC Table: <OEMTYN OEMTYNTB>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <OEMTYN OEMTYNTB> on motherboard
acpi0: Overriding SCI Interrupt from IRQ 9 to IRQ 20
acpi0: Power Button (fixed)
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu1: Failed to attach throttling P_CNT
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82443GX host to PCI bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0xffa0-0xffaf,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 7.1 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xef80-0xef9f irq 19 at device 7.2 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
intpm0: <Intel 82371AB Power management controller> port 0x440-0x44f irq 9 at device 7.3 on pci0
intpm0: I/O mapped 440
intpm0: intr IRQ 9 enabled revision 0
intpm0: [GIANT-LOCKED]
intsmb0: <Intel PIIX4 SMBUS Interface> on intpm0
smbus0: <System Management Bus> on intsmb0
smb0: <SMBus generic I/O> on smbus0
intpm0: PM I/O mapped 400
sym0: <896> port 0xe400-0xe4ff mem 0xfebe0000-0xfebe1fff,0xfebe8000-0xfebe83ff irq 17 at device 11.0 on pci0
sym0: Symbios NVRAM, ID 7, Fast-40, LVD, parity checking
sym0: open drain IRQ line driver, using on-chip SRAM
sym0: using LOAD/STORE-based firmware.
sym0: handling phase mismatch from SCRIPTS.
sym0: [GIANT-LOCKED]
sym1: <896> port 0xe800-0xe8ff mem 0xfebf0000-0xfebf1fff,0xfebf8000-0xfebf83ff irq 18 at device 11.1 on pci0
sym1: Symbios NVRAM, ID 7, Fast-40, LVD, parity checking
sym1: open drain IRQ line driver, using on-chip SRAM
sym1: using LOAD/STORE-based firmware.
sym1: handling phase mismatch from SCRIPTS.
sym1: [GIANT-LOCKED]
pcm0: <AudioPCI ES1373-8> port 0xef00-0xef3f irq 18 at device 12.0 on pci0
pcm0: <Cirrus Logic CS4297 AC97 Codec>
pcm0: [GIANT-LOCKED]
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xee80-0xeebf mem 0xfea00000-0xfeafffff,0xfebdf000-0xfebdffff irq 19 at device 13.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:e0:81:10:e4:49
pci0: <display, VGA> at device 14.0 (no driver attached)
xl0: <3Com 3c905B-FX/SC Fast Etherlink XL> port 0xec00-0xec7f mem 0xfebdef80-0xfebdefff irq 16 at device 16.0 on pci0
xl0: Ethernet address: 00:50:da:26:69:30
xl1: <3Com 3c905C-TX Fast Etherlink XL> port 0xe080-0xe0ff mem 0xfebdef00-0xfebdef7f irq 18 at device 18.0 on pci0
miibus1: <MII bus> on xl1
xlphy0: <3c905C 10/100 internal PHY> on miibus1
xlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
xl1: Ethernet address: 00:01:02:b3:32:bc
acpi_button0: <Sleep Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
fdc0: <floppy drive controller> port 0x3f7,0x3f4-0x3f5,0x3f2-0x3f3 irq 6 drq 2 on acpi0
fdc0: cmd 3 failed at out byte 1 of 3
device_attach: fdc0 attach returned 6
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A, console
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0 port 0x778-0x77f,0x378-0x37f irq 7 drq 3 on acpi0
ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
fdc0: <floppy drive controller> port 0x3f7,0x3f4-0x3f5,0x3f2-0x3f3 irq 6 drq 2 on acpi0
fdc0: cmd 3 failed at out byte 1 of 3
device_attach: fdc0 attach returned 6
orm0: <ISA Option ROMs> at iomem 0xcc000-0xcc7ff,0xc8000-0xcbfff,0xc0000-0xc7fff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sbc0: <Creative SB16/SB32> at port 0x388-0x38b,0x330-0x331,0x220-0x22f irq 5 drq 5,1 on isa0
sbc0: [GIANT-LOCKED]
pcm1: <SB16 DSP 4.13> on sbc0
pcm1: [GIANT-LOCKED]
ata2: <Generic ESDI/IDE/ATA controller> at port 0x36e-0x36f,0x168-0x16f irq 10 on isa0
Timecounters tick every 1.000 msec
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
ad2: 8056MB <ST38421A/8.01> [16368/16/63] at ata1-master UDMA33
Waiting 5 seconds for SCSI devices to settle
(noperiph:sym0:0:-1:-1): SCSI BUS reset delivered.
(noperiph:sym1:0:-1:-1): SCSI BUS reset delivered.
Interrupt storm detected on "irq9: intpm0"; throttling interrupt source
da0 at sym1 bus 0 target 0 lun 0
da0: <FUJITSU MAG3182LC 5210> Fixed Direct Access SCSI-2 device
da0: 80.000MB/s transfers (40.000MHz, offset 31, 16bit), Tagged Queueing Enabled
da0: 17429MB (35694860 512 byte sectors: 255H 63S/T 2221C)
SMP: AP CPU #1 Launched!
Mounting root from ufs:/dev/ad2s1a
[-- Attachment #6 --]
machine i386
cpu I686_CPU
ident SUBMARINE_SMP
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
#options SCHED_ULE # ULE scheduler
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options MD_ROOT # MD is a potential root device
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_GPT # GUID Partition Tables.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
options PFIL_HOOKS # pfil(9) framework
options ADAPTIVE_GIANT # Giant mutex is adaptive.
# Debugging for use in -current
options KDB # Enable kernel debugger support.
options DDB # Support DDB.
options GDB # Support remote GDB.
options INVARIANTS # Enable calls of extra sanity checking
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
options WITNESS # Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
# To make an SMP kernel, the next two are needed
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
# Bus support. Do not remove isa, even if you have no isa slots
device isa
device eisa
device pci
# Floppy drives
device fdc
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID # Static device numbering
# SCSI Controllers
#device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
#device ahd # AHA39320/29320 and onboard AIC79xx devices
#device amd # AMD 53C974 (Tekram DC-390(T))
#device isp # Qlogic family
#device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
#device trm # Tekram DC395U/UW/F DC315U adapters
#device adv # Advansys SCSI adapters
#device adw # Advansys wide SCSI adapters
#device aha # Adaptec 154x SCSI adapters
#device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device bt # Buslogic/Mylex MultiMaster SCSI adapters
#device ncv # NCR 53C500
#device nsp # Workbit Ninja SCSI-3
#device stg # TMC 18C30/18C50
# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
device vga # VGA video card driver
device splash # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device sc
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
device agp # support several AGP chipsets
# Floating point support - do not disable.
device npx
# Power management support (see NOTES for more options)
#device apm
# Add suspend/resume support for the i8254.
device pmtimer
# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
# Parallel port
device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
#device vpo # Requires scbus and da
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
#device bfe # Broadcom BCM440x 10/100 Ethernet
#device bge # Broadcom BCM570xx Gigabit Ethernet
#device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
#device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
#device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
#device sf # Adaptec AIC-6915 (``Starfire'')
#device sis # Silicon Integrated Systems SiS 900/SiS 7016
#device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
#device ste # Sundance ST201 (D-Link DFE-550TX)
#device ti # Alteon Networks Tigon I/II gigabit Ethernet
#device tl # Texas Instruments ThunderLAN
#device tx # SMC EtherPower II (83c170 ``EPIC'')
#device vr # VIA Rhine, Rhine II
#device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
# Wireless NIC cards
device wlan # 802.11 support
device an # Aironet 4500/4800 802.11 wireless NICs.
device awi # BayStack 660 and others
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
# Pseudo devices.
device loop # Network loopback
device mem # Memory and kernel memory devices
device io # I/O device
device random # Entropy device
device ether # Ethernet support
device sl # Kernel SLIP
device ppp # Kernel PPP
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device faith # IPv6-to-IPv4 relaying (translation)
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device bpf # Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
#device aue # ADMtek USB Ethernet
#device axe # ASIX Electronics USB Ethernet
#device cue # CATC USB Ethernet
#device kue # Kawasaki LSI USB Ethernet
#device rue # RealTek RTL8150 USB Ethernet
### custom options for SUBMARINE_SMP ###
# sound devices
device sound
device snd_sbc
device "snd_sb16"
## networking options ##
# pf
device pf
device pflog
device pfsync
# altq
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_NOPCC
options ALTQ_DEBUG
# rudimentary protection
options IPSTEALTH
options TCP_DROP_SYNFIN
# reasonable hz level
options HZ=2000
## set console resolution to 800x600, 1024x768 awaits!! ##
# VESA support
options VESA
# raster display support for 800x600 resolution
options SC_PIXEL_MODE
# support for INTEL PIIX4 SMBus
device smbus
device intpm
device smb
# enable device polling
#options DEVICE_POLLING
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040912200050.160b3b34.ubm>
