firmware(9): GC our old firmware framework in favor of the one from FreeBSD.
[dragonfly.git] / sys / config / GENERIC
1 #
2 # GENERIC -- Generic kernel configuration file for DragonFly/i386
3 #
4 # Check the LINT configuration file in sys/config, for an
5 # exhaustive list of options.
6 #
7 # $DragonFly: src/sys/config/GENERIC,v 1.60 2008/07/26 14:26:30 sephe Exp $
8
9 platform        pc32
10 machine         i386
11 machine_arch    i386
12 cpu             I486_CPU
13 cpu             I586_CPU
14 cpu             I686_CPU
15 ident           GENERIC
16 maxusers        0
17
18 makeoptions     DEBUG=-g                #Build kernel with gdb(1) debug symbols
19
20 options         MATH_EMULATE            #Support for x87 emulation
21 options         INET                    #InterNETworking
22 options         INET6                   #IPv6 communications protocols
23 options         HAMMER                  #Hammer Filesystem
24 options         NULLFS                  #NULL filesystem
25 options         FFS                     #Berkeley Fast Filesystem
26 options         FFS_ROOT                #FFS usable as root device [keep this!]
27 options         SOFTUPDATES             #Enable FFS soft updates support
28 options         UFS_DIRHASH             #Improve performance on big directories
29 options         MFS                     #Memory Filesystem
30 options         TMPFS                   #Temporary Filesystem
31 options         MD_ROOT                 #MD is a potential root device
32 options         NFS                     #Network Filesystem
33 options         NFS_ROOT                #NFS usable as root device, NFS required
34 options         MSDOSFS                 #MSDOS Filesystem
35 options         CD9660                  #ISO 9660 Filesystem
36 options         PROCFS                  #Process filesystem
37 options         COMPAT_43               #Compatible with BSD 4.3 [KEEP THIS!]
38 options         COMPAT_DF12             #Compatible with DragonFly 1.2 and earlier
39 options         SCSI_DELAY=5000         #Delay (in ms) before probing SCSI
40 options         DEVICE_POLLING          # Support mixed interrupt-polling
41                                         # handling of network device drivers
42 options         UCONSOLE                #Allow users to grab the console
43 options         USERCONFIG              #boot -c editor
44 options         VISUAL_USERCONFIG       #visual boot -c editor
45 options         KTRACE                  #ktrace(1) support
46 options         SYSVSHM                 #SYSV-style shared memory
47 options         SYSVMSG                 #SYSV-style message queues
48 options         SYSVSEM                 #SYSV-style semaphores
49 options         P1003_1B                #Posix P1003_1B real-time extensions
50 options         _KPOSIX_PRIORITY_SCHEDULING
51 options         ICMP_BANDLIM            #Rate limit bad replies
52 options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
53 options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
54                                         # output.  Adds ~128k to driver.
55 options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
56                                         # output.  Adds ~215k to driver.
57
58 # To make an SMP kernel both SMP and APIC_IO are usually
59 # specified.  SMP boxes with severely broken BIOSes which
60 # boot fine for non-SMP builds *might* work in SMP mode
61 # if you define SMP and leave APIC_IO turned off.
62 #
63 #options        SMP                     # Symmetric MultiProcessor Kernel
64 #options        APIC_IO                 # Symmetric (APIC) I/O
65
66 # Debugging for Development
67 options         DDB
68 options         DDB_TRACE
69 options         INVARIANTS
70
71 device          isa
72 device          eisa
73 device          pci
74
75 # Firmware assist module
76 device          firmware        # firmware assist module
77
78 # Floppy drives
79 device          fdc0    at isa? port IO_FD1 irq 6 drq 2
80 device          fd0     at fdc0 drive 0
81 device          fd1     at fdc0 drive 1
82 #
83 # If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
84 # don't use the above line for fdc0 but the following one:
85 #device         fdc0
86
87 # AHCI driver, this will override NATA for AHCI devices,
88 # both drivers may be included.
89 #
90 device          ahci
91
92 # SiI3124/3132 driver
93 #
94 device          sili
95
96 # NEW-ATA (NATA) and ATAPI devices
97 #
98 device          nata
99 device          natadisk                # ATA disk drives
100 device          natapicd                # ATAPI CDROM drives
101 device          natapifd                # ATAPI floppy drives
102 device          natapist                # ATAPI tape drives
103 device          natapicam               # Emulate ATAPI devices as SCSI
104 device          nataraid                # support for ATA software RAID
105                                         # controllers
106 device          natausb                 # ATA-over-USB support
107 options         ATA_STATIC_ID           # Static device numbering
108
109 # LEGACY ATA and ATAPI devices
110 #device         ata0    at isa? port IO_WD1 irq 14
111 #device         ata1    at isa? port IO_WD2 irq 15
112 #device         ata
113 #device         atadisk                 # ATA disk drives
114 #device         atapicd                 # ATAPI CDROM drives
115 #device         atapifd                 # ATAPI floppy drives
116 #device         atapist                 # ATAPI tape drives
117 #device         atapicam                # Emulate ATAPI devices as SCSI via CAM
118 #options        ATA_STATIC_ID           #Static device numbering
119
120 # SCSI Controllers
121 device          ahb             # EISA AHA1742 family
122 device          ahc             # AHA2940 and onboard AIC7xxx devices
123 device          ahd             # AHA39320/29320 and onboard AIC79xx devices
124 device          amd             # AMD 53C974 (Tekram DC-390(T))
125 device          isp             # Qlogic family
126 device          mpt             # LSI-Logic MPT/Fusion
127 device          ncr             # NCR/Symbios Logic
128 device          sym             # NCR/Symbios Logic (newer chipsets)
129 options         SYM_SETUP_LP_PROBE_MAP=0x40
130                                 # Allow ncr to attach legacy NCR devices when
131                                 # both sym and ncr are configured
132
133 device          adv0    at isa?
134 device          adw
135 device          bt0     at isa?
136 device          aha0    at isa?
137 device          aic0    at isa?
138
139 device          ncv             # NCR 53C500
140 device          nsp             # Workbit Ninja SCSI-3
141 device          stg             # TMC 18C30/18C50
142
143 # SCSI peripherals
144 device          scbus           # SCSI bus (required)
145 device          da              # Direct Access (disks)
146 device          sa              # Sequential Access (tape etc)
147 device          cd              # CD
148 device          pass            # Passthrough device (direct SCSI access)
149 device          sg              # Passthrough device (linux scsi generic)
150
151 # RAID controllers interfaced to the SCSI subsystem
152 device          asr             # DPT SmartRAID V, VI and Adaptec SCSI RAID
153 device          dpt             # DPT Smartcache - See LINT for options!
154 device          iir             # Intel Integrated RAID
155 device          mly             # Mylex AcceleRAID/eXtremeRAID
156 device          ciss            # Compaq SmartRAID 5* series
157
158 # RAID controllers
159 device          aac             # Adaptec FSA RAID, Dell PERC2/PERC3
160 #device         aacp            # SCSI passthrough for aac (requires CAM)
161 device          ida             # Compaq Smart RAID
162 device          ips             # IBM ServeRAID
163 device          amr             # AMI MegaRAID
164 device          mlx             # Mylex DAC960 family
165 device          twe             # 3ware Escalade 7000/8000's
166 device          twa             # 3ware Escalade 9000's
167 device          pst             # Promise Supertrack
168
169 # atkbdc0 controls both the keyboard and the PS/2 mouse
170 device          atkbdc0 at isa? port IO_KBD
171 device          atkbd0  at atkbdc? irq 1 flags 0x1
172 device          psm0    at atkbdc? irq 12
173
174 device          vga0    at isa?
175
176 # kbdmux is the keyboard multiplexer
177 device          kbdmux
178
179 # splash screen/screen saver
180 pseudo-device   splash
181
182 # syscons is the default console driver, resembling an SCO console
183 device          sc0     at isa? flags 0x100
184 options         SC_PIXEL_MODE           # add support for the raster text mode
185
186 device          agp             # support several AGP chipsets
187
188 # Floating point support - do not disable.
189 device          npx0    at nexus? port IO_NPX irq 13
190
191 # Power management support (see LINT for more options)
192 device          apm0    at nexus? disable flags 0x20 # Advanced Power Management
193
194 # HW monitoring devices
195 device          aps0    at isa? port 0x1600
196 device          lm0     at isa? port 0x290
197 device          it0     at isa? port 0x290
198 device          it1     at isa? port 0xc00
199 device          it2     at isa? port 0xd00
200 device          it3     at isa? port 0x228
201 device          wbsio0  at isa? port 0x2e
202 device          wbsio1  at isa? port 0x4e
203 device          lm#3    at wbsio?
204
205 # PCCARD (PCMCIA) support
206 device          pccard
207 device          cardbus
208 device          cbb
209
210 # Serial (COM) ports
211 device          sio0    at isa? port IO_COM1 flags 0x10 irq 4
212 device          sio1    at isa? port IO_COM2 irq 3
213 device          sio2    at isa? disable port IO_COM3 irq 5
214 device          sio3    at isa? disable port IO_COM4 irq 9
215
216 # Parallel port
217 device          ppc0    at isa? irq 7
218 device          ppbus           # Parallel port bus (required)
219 device          lpt             # Printer
220 device          plip            # TCP/IP over parallel
221 device          ppi             # Parallel port interface device
222 #device         vpo             # Requires scbus and da
223
224 # PCI Ethernet NICs.
225 device          de              # DEC/Intel DC21x4x (``Tulip'')
226 device          txp             # 3Com 3cR990 (``Typhoon'')
227 device          vx              # 3Com 3c590, 3c595 (``Vortex'')
228
229 device          em              # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
230                                 # Requires ig_hal
231 device          ig_hal          # Intel PRO/1000 hardware abstraction layer
232
233 # PCI Ethernet NICs that use the common MII bus controller code.
234 # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
235 device          miibus          # MII bus support
236 device          ae              # Attansic/Atheros L2 Fast Ethernet
237 device          age             # Attansic/Atheros L1 Gigabit Ethernet
238 device          alc             # Atheros AR8131/AR8132
239 device          ale             # Atheros AR8121/AR8113/AR8114
240 device          bce             # Broadcom NetXtreme II Gigabit Ethernet
241 device          bfe             # Broadcom BCM440x 10/100 Ethernet
242 device          dc              # DEC/Intel 21143 and various workalikes
243 device          et              # Agere ET1310 10/100/1000 Ethernet
244 device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
245 device          jme             # JMicron Gigabit/Fast Ethernet
246 device          pcn             # AMD Am79C97x PCI 10/100 NICs
247 device          rl              # RealTek 8129/8139
248 device          re              # RealTek 8139C+/8169
249 device          sf              # Adaptec AIC-6915 (``Starfire'')
250 device          sis             # Silicon Integrated Systems SiS 900/SiS 7016
251 device          sk              # SysKonnect GEnesis, LinkSys EG1023, D-Link
252 device          ste             # Sundance ST201 (D-Link DFE-550TX)
253 device          tl              # Texas Instruments ThunderLAN
254 device          tx              # SMC EtherPower II (83c170 ``EPIC'')
255 device          vge             # VIA 612x GigE
256 device          vr              # VIA Rhine, Rhine II
257 device          wb              # Winbond W89C840F
258 device          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')
259 device          bge             # Broadcom BCM570x (``Tigon III'')
260 device          stge            # Sundance/Tamarack TC9021 Gigabit Ethernet
261 device          msk             # Marvell/SysKonnect Yukon II Gigabit Ethernet
262 device          nfe             # NVIDIA nForce MCP 10/100/Gigabit Ethernet
263
264 # ISA Ethernet NICs.
265 # 'device ed' requires 'device miibus'
266 device          ed0     at isa? disable port 0x280 irq 10 iomem 0xd8000
267 device          ex
268 device          ep
269 device          fe0     at isa? disable port 0x300
270 # Xircom Ethernet
271 device          xe
272
273 # Wireless NIC cards
274 options         IEEE80211_DEBUG         #enable debugging msgs
275 options         IEEE80211_SUPPORT_MESH  #enable 802.11s D3.0 support
276 options         IEEE80211_SUPPORT_TDMA  #enable TDMA support
277 device          wlan            # 802.11 support
278 device          wlan_ccmp       # 802.11 CCMP support
279 device          wlan_tkip       # 802.11 TKIP support
280 device          wlan_wep        # 802.11 WEP support
281 #device         wlan_amrr       # AMRR
282
283 # Aironet 4500/4800 802.11 wireless NICs.  Note: the declaration below will
284 # work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
285 # mode (the factory default). If you set the switches on your ISA
286 # card for a manually chosen I/O address and IRQ, you must specify
287 # those parameters here.
288 device          an
289 device          ral             # Ralink Technology 802.11 wireless NIC
290 #device         rtw             # RealTek 802.11 wireless NIC
291 # WaveLAN/IEEE 802.11 wireless NICs.  Note: the WaveLAN/IEEE really
292 # exists only as a PCMCIA device, so there is no ISA attachment needed
293 # and resources will always be dynamically assigned by the pccard code.
294 device          wi
295
296 # The probe order of these is presently determined by i386/isa/isa_compat.c.
297 device          ie0     at isa? disable port 0x300 irq 10 iomem 0xd0000
298 #device         le0     at isa? disable port 0x300 irq 5 iomem 0xd0000
299 device          lnc0    at isa? disable port 0x280 irq 10 drq 0
300 device          cs0     at isa? disable port 0x300
301 device          sn0     at isa? disable port 0x300 irq 10
302
303 # Pseudo devices - the number indicates how many units to allocate.
304 pseudo-device   loop            # Network loopback
305 pseudo-device   ether           # Ethernet support
306 pseudo-device   sl      1       # Kernel SLIP
307 pseudo-device   ppp     1       # Kernel PPP
308 pseudo-device   tun             # Packet tunnel.
309 pseudo-device   pty             # Pseudo-ttys (telnet etc)
310 pseudo-device   md              # Memory "disks"
311 pseudo-device   gif             # IPv6 and IPv4 tunneling
312 pseudo-device   faith   1       # IPv6-to-IPv4 relaying (translation)
313
314 # The `bpf' pseudo-device enables the Berkeley Packet Filter.
315 # Be aware of the administrative consequences of enabling this!
316 pseudo-device   bpf             #Berkeley packet filter
317
318 pseudo-device   crypto          # core crypto support, used by wlan
319 pseudo-device   cryptodev
320
321 # USB support
322 device          uhci            # UHCI PCI->USB interface
323 device          ohci            # OHCI PCI->USB interface
324 device          usb             # USB Bus (required)
325 device          ugen            # Generic
326 device          uhid            # "Human Interface Devices"
327 device          ukbd            # Keyboard
328 device          ulpt            # Printer
329 device          umass           # Disks/Mass storage - Requires scbus and da
330 device          ums             # Mouse
331 device          uscanner        # Scanners
332 device          urio            # Diamond Rio MP3 Player
333 # USB Ethernet, requires mii
334 device          aue             # ADMtek USB ethernet
335 device          axe             # ASIX Electronics USB Ethernet
336 device          cue             # CATC USB ethernet
337 device          kue             # Kawasaki LSI USB ethernet
338 device          rue             # RealTek 8150 based USB ethernet
339 # USB wireless NICs, requires wlan, wlan_amrr
340 #device         rum             # Ralink Technology RT2501USB/RT2601USB
341 #device         ural            # Ralink Technology RT2500USB
342
343 # FireWire support
344 device          firewire        # FireWire bus code
345 device          sbp             # SCSI over FireWire (Requires scbus and da)
346 device          fwe             # Ethernet over FireWire (non-standard!)