Add PFIL_HOOKS functionality. This allows us to plug in many firewalling
[dragonfly.git] / sys / config / GENERIC
1 #
2 # GENERIC -- Generic kernel configuration file for FreeBSD/i386
3 #
4 # For more information on this file, please read the handbook section on
5 # Kernel Configuration Files:
6 #
7 #    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
8 #
9 # The handbook is also available locally in /usr/share/doc/handbook
10 # if you've installed the doc distribution, otherwise always see the
11 # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
12 # latest information.
13 #
14 # An exhaustive list of options and more detailed explanations of the
15 # device lines is also present in the ./LINT configuration file. If you are
16 # in doubt as to the purpose or necessity of a line, check first in LINT.
17 #
18 # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.54 2003/04/28 03:41:46 simokawa Exp $
19 # $DragonFly: src/sys/config/GENERIC,v 1.4 2003/12/02 08:00:22 asmodai Exp $
20
21 machine         i386
22 cpu             I386_CPU
23 cpu             I486_CPU
24 cpu             I586_CPU
25 cpu             I686_CPU
26 ident           GENERIC
27 maxusers        0
28
29 makeoptions     DEBUG=-g                #Build kernel with gdb(1) debug symbols
30
31 options         MATH_EMULATE            #Support for x87 emulation
32 options         INET                    #InterNETworking
33 options         INET6                   #IPv6 communications protocols
34 options         FFS                     #Berkeley Fast Filesystem
35 options         FFS_ROOT                #FFS usable as root device [keep this!]
36 options         SOFTUPDATES             #Enable FFS soft updates support
37 options         UFS_DIRHASH             #Improve performance on big directories
38 options         MFS                     #Memory Filesystem
39 options         MD_ROOT                 #MD is a potential root device
40 options         NFS                     #Network Filesystem
41 options         NFS_ROOT                #NFS usable as root device, NFS required
42 options         MSDOSFS                 #MSDOS Filesystem
43 options         CD9660                  #ISO 9660 Filesystem
44 options         CD9660_ROOT             #CD-ROM usable as root, CD9660 required
45 options         PROCFS                  #Process filesystem
46 options         COMPAT_43               #Compatible with BSD 4.3 [KEEP THIS!]
47 options         SCSI_DELAY=15000        #Delay (in ms) before probing SCSI
48 options         UCONSOLE                #Allow users to grab the console
49 options         USERCONFIG              #boot -c editor
50 options         VISUAL_USERCONFIG       #visual boot -c editor
51 options         KTRACE                  #ktrace(1) support
52 options         SYSVSHM                 #SYSV-style shared memory
53 options         SYSVMSG                 #SYSV-style message queues
54 options         SYSVSEM                 #SYSV-style semaphores
55 options         P1003_1B                #Posix P1003_1B real-time extensions
56 options         _KPOSIX_PRIORITY_SCHEDULING
57 options         ICMP_BANDLIM            #Rate limit bad replies
58 options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
59 options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
60                                         # output.  Adds ~128k to driver.
61 options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug 
62                                         # output.  Adds ~215k to driver.
63
64 # To make an SMP kernel, the next two are needed
65 #options        SMP                     # Symmetric MultiProcessor Kernel
66 #options        APIC_IO                 # Symmetric (APIC) I/O
67
68 # To support HyperThreading, HTT is needed in addition to SMP and APIC_IO
69 #options        HTT                     # HyperThreading Technology
70
71 # Debugging for Development
72 options         DDB
73 options         INVARIANTS
74 options         INVARIANT_SUPPORT
75
76
77
78 device          isa
79 device          eisa
80 device          pci
81
82 # Floppy drives
83 device          fdc0    at isa? port IO_FD1 irq 6 drq 2
84 device          fd0     at fdc0 drive 0
85 device          fd1     at fdc0 drive 1
86 #
87 # If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
88 # don't use the above line for fdc0 but the following one:
89 #device         fdc0
90
91 # ATA and ATAPI devices
92 device          ata0    at isa? port IO_WD1 irq 14
93 device          ata1    at isa? port IO_WD2 irq 15
94 device          ata
95 device          atadisk                 # ATA disk drives
96 device          atapicd                 # ATAPI CDROM drives
97 device          atapifd                 # ATAPI floppy drives
98 device          atapist                 # ATAPI tape drives
99 options         ATA_STATIC_ID           #Static device numbering
100
101 # SCSI Controllers
102 device          ahb             # EISA AHA1742 family
103 device          ahc             # AHA2940 and onboard AIC7xxx devices
104 device          ahd             # AHA39320/29320 and onboard AIC79xx devices
105 device          amd             # AMD 53C974 (Tekram DC-390(T))
106 device          isp             # Qlogic family
107 device          mpt             # LSI-Logic MPT/Fusion
108 device          ncr             # NCR/Symbios Logic
109 device          sym             # NCR/Symbios Logic (newer chipsets)
110 options         SYM_SETUP_LP_PROBE_MAP=0x40
111                                 # Allow ncr to attach legacy NCR devices when 
112                                 # both sym and ncr are configured
113
114 device          adv0    at isa?
115 device          adw
116 device          bt0     at isa?
117 device          aha0    at isa?
118 device          aic0    at isa?
119
120 device          ncv             # NCR 53C500
121 device          nsp             # Workbit Ninja SCSI-3
122 device          stg             # TMC 18C30/18C50
123
124 # SCSI peripherals
125 device          scbus           # SCSI bus (required)
126 device          da              # Direct Access (disks)
127 device          sa              # Sequential Access (tape etc)
128 device          cd              # CD
129 device          pass            # Passthrough device (direct SCSI access)
130
131 # RAID controllers interfaced to the SCSI subsystem
132 device          asr             # DPT SmartRAID V, VI and Adaptec SCSI RAID
133 device          dpt             # DPT Smartcache - See LINT for options!
134 device          iir             # Intel Integrated RAID
135 device          mly             # Mylex AcceleRAID/eXtremeRAID
136 device          ciss            # Compaq SmartRAID 5* series
137
138 # RAID controllers
139 device          aac             # Adaptec FSA RAID, Dell PERC2/PERC3
140 #device         aacp            # SCSI passthrough for aac (requires CAM)
141 device          ida             # Compaq Smart RAID
142 device          amr             # AMI MegaRAID
143 device          mlx             # Mylex DAC960 family
144 device          twe             # 3ware Escalade
145
146 # atkbdc0 controls both the keyboard and the PS/2 mouse
147 device          atkbdc0 at isa? port IO_KBD
148 device          atkbd0  at atkbdc? irq 1 flags 0x1
149 device          psm0    at atkbdc? irq 12
150
151 device          vga0    at isa?
152
153 # splash screen/screen saver
154 pseudo-device   splash
155
156 # syscons is the default console driver, resembling an SCO console
157 device          sc0     at isa? flags 0x100
158
159 # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
160 #device         vt0     at isa?
161 #options        XSERVER                 # support for X server on a vt console
162 #options        FAT_CURSOR              # start with block cursor
163 # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
164 #options        PCVT_SCANSET=2          # IBM keyboards are non-std
165
166 device          agp             # support several AGP chipsets
167
168 # Floating point support - do not disable.
169 device          npx0    at nexus? port IO_NPX irq 13
170
171 # Power management support (see LINT for more options)
172 device          apm0    at nexus? disable flags 0x20 # Advanced Power Management
173
174 # PCCARD (PCMCIA) support
175 device          card
176 device          pcic0   at isa? irq 0 port 0x3e0 iomem 0xd0000
177 device          pcic1   at isa? irq 0 port 0x3e2 iomem 0xd4000 disable
178
179 # Serial (COM) ports
180 device          sio0    at isa? port IO_COM1 flags 0x10 irq 4
181 device          sio1    at isa? port IO_COM2 irq 3
182 device          sio2    at isa? disable port IO_COM3 irq 5
183 device          sio3    at isa? disable port IO_COM4 irq 9
184
185 # Parallel port
186 device          ppc0    at isa? irq 7
187 device          ppbus           # Parallel port bus (required)
188 device          lpt             # Printer
189 device          plip            # TCP/IP over parallel
190 device          ppi             # Parallel port interface device
191 #device         vpo             # Requires scbus and da
192
193
194 # PCI Ethernet NICs.
195 device          de              # DEC/Intel DC21x4x (``Tulip'')
196 device          em              # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
197 device          txp             # 3Com 3cR990 (``Typhoon'')
198 device          vx              # 3Com 3c590, 3c595 (``Vortex'')
199
200 # PCI Ethernet NICs that use the common MII bus controller code.
201 # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
202 device          miibus          # MII bus support
203 device          dc              # DEC/Intel 21143 and various workalikes
204 device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
205 device          pcn             # AMD Am79C97x PCI 10/100 NICs
206 device          rl              # RealTek 8129/8139
207 device          sf              # Adaptec AIC-6915 (``Starfire'')
208 device          sis             # Silicon Integrated Systems SiS 900/SiS 7016
209 device          ste             # Sundance ST201 (D-Link DFE-550TX)
210 device          tl              # Texas Instruments ThunderLAN
211 device          tx              # SMC EtherPower II (83c170 ``EPIC'')
212 device          vr              # VIA Rhine, Rhine II
213 device          wb              # Winbond W89C840F
214 device          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')
215 device          bge             # Broadcom BCM570x (``Tigon III'')
216
217 # ISA Ethernet NICs.
218 # 'device ed' requires 'device miibus'
219 device          ed0     at isa? disable port 0x280 irq 10 iomem 0xd8000
220 device          ex
221 device          ep
222 device          fe0     at isa? disable port 0x300
223 # Xircom Ethernet
224 device          xe
225 # PRISM I IEEE 802.11b wireless NIC.
226 device          awi
227 # WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
228 # exists only as a PCMCIA device, so there is no ISA attachment needed
229 # and resources will always be dynamically assigned by the pccard code.
230 device          wi
231 # Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
232 # work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
233 # mode (the factory default). If you set the switches on your ISA
234 # card for a manually chosen I/O address and IRQ, you must specify
235 # those parameters here.
236 device          an
237 # The probe order of these is presently determined by i386/isa/isa_compat.c.
238 device          ie0     at isa? disable port 0x300 irq 10 iomem 0xd0000
239 #device         le0     at isa? disable port 0x300 irq 5 iomem 0xd0000
240 device          lnc0    at isa? disable port 0x280 irq 10 drq 0
241 device          cs0     at isa? disable port 0x300
242 device          sn0     at isa? disable port 0x300 irq 10
243
244 # Pseudo devices - the number indicates how many units to allocate.
245 pseudo-device   loop            # Network loopback
246 pseudo-device   ether           # Ethernet support
247 pseudo-device   sl      1       # Kernel SLIP
248 pseudo-device   ppp     1       # Kernel PPP
249 pseudo-device   tun             # Packet tunnel.
250 pseudo-device   pty             # Pseudo-ttys (telnet etc)
251 pseudo-device   md              # Memory "disks"
252 pseudo-device   gif             # IPv6 and IPv4 tunneling
253 pseudo-device   faith   1       # IPv6-to-IPv4 relaying (translation)
254
255 # The `bpf' pseudo-device enables the Berkeley Packet Filter.
256 # Be aware of the administrative consequences of enabling this!
257 pseudo-device   bpf             #Berkeley packet filter
258 options         PFIL_HOOKS      #Packetfilter hooks
259
260 # USB support
261 device          uhci            # UHCI PCI->USB interface
262 device          ohci            # OHCI PCI->USB interface
263 device          usb             # USB Bus (required)
264 device          ugen            # Generic
265 device          uhid            # "Human Interface Devices"
266 device          ukbd            # Keyboard
267 device          ulpt            # Printer
268 device          umass           # Disks/Mass storage - Requires scbus and da
269 device          ums             # Mouse
270 device          uscanner        # Scanners
271 device          urio            # Diamond Rio MP3 Player
272 # USB Ethernet, requires mii
273 device          aue             # ADMtek USB ethernet
274 device          cue             # CATC USB ethernet
275 device          kue             # Kawasaki LSI USB ethernet
276
277 # FireWire support
278 device          firewire        # FireWire bus code
279 device          sbp             # SCSI over FireWire (Requires scbus and da)
280 device          fwe             # Ethernet over FireWire (non-standard!)