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