GENERIC.in revision 1.125 1 1.1 leo #
2 1.125 nat # $NetBSD: GENERIC.in,v 1.125 2022/12/22 11:05:55 nat Exp $
3 1.1 leo #
4 1.1 leo # Generic atari
5 1.1 leo #
6 1.80 abs # Note: We have size targets for gzipped kernels:
7 1.80 abs # - ATARITT and FALCON - 1.44M floppy
8 1.80 abs # - SMALL030 - 720K (or worst case 800K) floppy
9 1.1 leo
10 1.1 leo #if defined(TT030_KERNEL) || defined(FALCON_KERNEL)
11 1.1 leo include "arch/atari/conf/std.atari"
12 1.1 leo #elif defined (HADES_KERNEL)
13 1.1 leo include "arch/atari/conf/std.hades"
14 1.1 leo #elif defined (MILAN_KERNEL)
15 1.1 leo include "arch/atari/conf/std.milan"
16 1.78 abs #endif /* TT030_KERNEL / FALCON_KERNEL / HADES_KERNEL / MILAN_KERNEL */
17 1.19 atatat
18 1.78 abs #if !defined(SMALL030_KERNEL)
19 1.19 atatat options INCLUDE_CONFIG_FILE # embed config file in kernel binary
20 1.78 abs #endif /* !SMALL030_KERNEL */
21 1.78 abs
22 1.106 tsutsui #if !defined(SMALL030_KERNEL)
23 1.122 tsutsui makeoptions COPTS="-O2 -fno-reorder-blocks -fno-unwind-tables -fno-omit-frame-pointer" \
24 1.119 rin # See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for backtraces \
25 1.119 rin in DDB.
26 1.106 tsutsui #else
27 1.122 tsutsui makeoptions COPTS="-Os -fno-unwind-tables" # optimize for space
28 1.106 tsutsui #endif /* !SMALL030_KERNEL */
29 1.106 tsutsui
30 1.78 abs #if defined(SMALL030_KERNEL) || \
31 1.78 abs (!defined(TT030_KERNEL) && !defined(HADES_KERNEL) && !defined(MILAN_KERNEL))
32 1.78 abs #define NO_PHYS_NETWORK 1
33 1.78 abs #endif /* SMALL030_KERNEL || ... */
34 1.1 leo
35 1.1 leo #
36 1.1 leo # Add support for about 16 users. This variable is used to size
37 1.1 leo # various kernel structures.
38 1.1 leo #
39 1.1 leo maxusers 16
40 1.1 leo
41 1.1 leo options HZ=64 # Set the clock-rate (48/64/96)
42 1.1 leo
43 1.1 leo # Standard system options
44 1.1 leo options INSECURE # disable kernel security levels
45 1.1 leo #options NTP # NTP phase/frequency locked loop
46 1.28 junyoung
47 1.115 sevan # Alternate buffer queue strategies for better responsiveness under high
48 1.115 sevan # disk I/O load.
49 1.48 tsutsui #options BUFQ_READPRIO
50 1.48 tsutsui #options BUFQ_PRIOCSCAN
51 1.1 leo
52 1.1 leo #
53 1.1 leo # (Co)processors this kernel should support
54 1.1 leo #
55 1.1 leo #if defined(TT030_KERNEL) || defined(FALCON_KERNEL)
56 1.1 leo options M68030 # support for 030
57 1.81 abs #endif /* TT030_KERNEL || FALCON_KERNEL */
58 1.81 abs #if defined(FALCON_KERNEL)
59 1.1 leo options FPU_EMULATE # Support for MC68881/MC68882 emulator
60 1.81 abs #endif /* FALCON_KERNEL */
61 1.78 abs #if (defined(FALCON_KERNEL) && !defined(SMALL030_KERNEL)) || \
62 1.78 abs defined(HADES_KERNEL) || defined(MILAN_KERNEL)
63 1.1 leo options M68040 # support for 040
64 1.1 leo options M68060 # support for 060
65 1.1 leo options FPSP # 68040 Floatingpoint support
66 1.1 leo options M060SP # MC68060 software support (Required for 060)
67 1.78 abs #endif /* ! FALCON_KERNEL & ! SMALL030_KERNEL ... */
68 1.1 leo
69 1.1 leo #
70 1.1 leo # Networking options
71 1.1 leo #
72 1.10 lukem options INET # IP + ICMP + TCP + UDP
73 1.1 leo
74 1.78 abs #if !defined(SMALL030_KERNEL)
75 1.1 leo options INET6 # IPV6
76 1.1 leo #options IPSEC # IP security
77 1.1 leo #options IPSEC_DEBUG # debug for IP security
78 1.10 lukem #options GATEWAY # packet forwarding
79 1.10 lukem #options MROUTING # IP multicast routing
80 1.40 manu #options PIM # Protocol Independent Multicast
81 1.78 abs #if !defined(NO_PHYS_NETWORK)
82 1.80 abs #options NETATALK # AppleTalk networking protocols
83 1.78 abs #endif /* NO_PHYS_NETWORK */
84 1.10 lukem
85 1.10 lukem options PPP_BSDCOMP # BSD-Compress compression support for PPP
86 1.10 lukem options PPP_DEFLATE # Deflate compression support for PPP
87 1.10 lukem options PPP_FILTER # Active filter support for PPP (requires bpf)
88 1.1 leo
89 1.4 abs #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
90 1.37 abs
91 1.37 abs #options ALTQ # Manipulate network interfaces' output queues
92 1.37 abs #options ALTQ_BLUE # Stochastic Fair Blue
93 1.37 abs #options ALTQ_CBQ # Class-Based Queueing
94 1.37 abs #options ALTQ_CDNR # Diffserv Traffic Conditioner
95 1.37 abs #options ALTQ_FIFOQ # First-In First-Out Queue
96 1.37 abs #options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box)
97 1.37 abs #options ALTQ_HFSC # Hierarchical Fair Service Curve
98 1.37 abs #options ALTQ_LOCALQ # Local queueing discipline
99 1.37 abs #options ALTQ_PRIQ # Priority Queueing
100 1.37 abs #options ALTQ_RED # Random Early Detection
101 1.37 abs #options ALTQ_RIO # RED with IN/OUT
102 1.37 abs #options ALTQ_WFQ # Weighted Fair Queueing
103 1.78 abs #endif /* !SMALL030_KERNEL */
104 1.1 leo
105 1.1 leo # File systems
106 1.1 leo file-system FFS # Berkeley fast file system
107 1.1 leo file-system MFS # Memory based filesystem
108 1.1 leo file-system MSDOSFS # MSDOS filesystem
109 1.1 leo file-system CD9660 # ISO 9660 filesystem with Rock Ridge
110 1.58 reinoud #file-system UDF # experimental - OSTA UDF CD/DVD file-system
111 1.1 leo
112 1.78 abs #if !defined(SMALL030_KERNEL)
113 1.75 abs file-system KERNFS # Kernel parameter filesystem
114 1.1 leo file-system NFS # Network File System client side code
115 1.1 leo file-system PROCFS # Process filesystem
116 1.109 tsutsui #file-system FDESC # /dev/fd
117 1.1 leo file-system NULLFS # Loopback filesystem
118 1.109 tsutsui #file-system OVERLAY # overlay filesystem
119 1.109 tsutsui #file-system UNION # union file system
120 1.109 tsutsui #file-system UMAPFS # null file system (with uid & gid remapping)
121 1.109 tsutsui #file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
122 1.109 tsutsui #file-system EXT2FS # second extended file system (linux)
123 1.80 abs #file-system LFS # log-structured file system
124 1.55 christos file-system PTYFS # /dev/pts/N support
125 1.89 tsutsui file-system TMPFS # Efficient memory file-system
126 1.78 abs #endif /* !SMALL030_KERNEL */
127 1.1 leo
128 1.73 simonb # File system options
129 1.97 dholland options WAPBL # File system journaling support
130 1.109 tsutsui options FFS_NO_SNAPSHOT # No FFS snapshot support
131 1.78 abs #if !defined(SMALL030_KERNEL)
132 1.124 simonb #options FFS_EI # FFS Endian Independent support
133 1.93 bouyer #options QUOTA # legacy UFS quotas
134 1.93 bouyer #options QUOTA2 # new, in-filesystem UFS quotas
135 1.124 simonb #options UFS_DIRHASH # UFS Large Directory Hashing
136 1.124 simonb #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
137 1.1 leo # immutable) behave as system flags.
138 1.124 simonb options NFSSERVER # Network File System server
139 1.78 abs #endif /* !SMALL030_KERNEL */
140 1.1 leo
141 1.1 leo #
142 1.1 leo # Misc. debugging options
143 1.1 leo #
144 1.1 leo options PANICWAIT # Require keystroke to dump/reboot
145 1.78 abs #if !defined(SMALL030_KERNEL)
146 1.1 leo options DDB # Kernel debugger
147 1.1 leo options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
148 1.1 leo #options DEBUG # expensive debugging checks/support
149 1.78 abs #endif /* !SMALL030_KERNEL */
150 1.1 leo
151 1.1 leo #
152 1.3 wiz # Compatibility options for various existing systems
153 1.1 leo #
154 1.114 mrg include "conf/compat_netbsd10.config"
155 1.114 mrg #if defined(SMALL030_KERNEL)
156 1.114 mrg no options COMPAT_43 # 4.3 BSD compatible system calls
157 1.114 mrg no options COMPAT_10 # NetBSD 1.0,
158 1.114 mrg no options COMPAT_11 # NetBSD 1.1,
159 1.114 mrg no options COMPAT_12 # NetBSD 1.2,
160 1.114 mrg no options COMPAT_13 # NetBSD 1.3,
161 1.114 mrg no options COMPAT_14 # NetBSD 1.4,
162 1.114 mrg no options COMPAT_15 # NetBSD 1.5,
163 1.114 mrg #endif /* !SMALL030_KERNEL */
164 1.80 abs #if !defined(SMALL030_KERNEL)
165 1.1 leo #options COMPAT_SUNOS # Support to run Sun-3 executables
166 1.1 leo #options COMPAT_LINUX # Support to run Linux/m68k executables
167 1.121 nia #options COMPAT_OSSAUDIO # Support to run Linux/m68k executables
168 1.10 lukem options COMPAT_AOUT_M68K # Compatibility to a.out executables
169 1.10 lukem options EXEC_AOUT # a.out format executables
170 1.78 abs #endif /* !SMALL030_KERNEL */
171 1.1 leo
172 1.78 abs #if !defined(SMALL030_KERNEL)
173 1.1 leo #
174 1.1 leo # Support for System V IPC facilities.
175 1.1 leo #
176 1.1 leo options SYSVSHM # System V shared memory
177 1.1 leo options SYSVMSG # System V messages
178 1.1 leo options SYSVSEM # System V semaphores
179 1.78 abs #endif /* !SMALL030_KERNEL */
180 1.1 leo
181 1.78 abs #if !defined(SMALL030_KERNEL)
182 1.1 leo #
183 1.1 leo # Support for various kernel options
184 1.1 leo #
185 1.1 leo options KTRACE # Add kernel tracing system call
186 1.56 chs #options DIAGNOSTIC # Add additional error checking code
187 1.23 lukem options USERCONF # userconf(4) support
188 1.14 jdolecek #options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
189 1.39 atatat options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
190 1.109 tsutsui options MODULAR # new style module(7) framework
191 1.78 abs #else /* SMALL030_KERNEL */
192 1.14 jdolecek options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
193 1.78 abs #endif /* !SMALL030_KERNEL */
194 1.1 leo
195 1.1 leo # These options enable verbose messages for several subsystems.
196 1.1 leo # Warning, these may compile large string tables into the kernel!
197 1.78 abs #if !defined(SMALL030_KERNEL)
198 1.109 tsutsui #options SCSIVERBOSE # human readable SCSI error messages
199 1.78 abs #endif /* !SMALL030_KERNEL */
200 1.1 leo #if defined(HADES_KERNEL) || defined(MILAN_KERNEL)
201 1.109 tsutsui #options MIIVERBOSE # verbose PHY autoconfig messages
202 1.80 abs #options PCIVERBOSE # verbose PCI device autoconfig messages
203 1.1 leo #options PCI_CONFIG_DUMP # verbosely dump PCI config space
204 1.1 leo #endif
205 1.1 leo
206 1.1 leo #
207 1.1 leo # Atari specific options
208 1.1 leo #
209 1.1 leo #options KFONT_8x8 # Use 8x8 font instead of 8x16
210 1.123 tsutsui options ST_POOL_SIZE=56 # for SCSI, FDC, and Xserver
211 1.2 leo #if defined(TT030_KERNEL) || defined(HADES_KERNEL)
212 1.1 leo options TT_SCSI # SCSI-support for TT
213 1.1 leo options TT_VIDEO # Graphics support for TT
214 1.31 thomas #options ET4000_HAS_2MB_MEM # et4000 with 2 MB video memory
215 1.1 leo #endif
216 1.78 abs #if defined(FALCON_KERNEL)
217 1.1 leo options FALCON_SCSI # SCSI-support for Falcon
218 1.1 leo options FALCON_VIDEO # Graphics support for FALCON
219 1.78 abs #endif /* FALCON_KERNEL */
220 1.1 leo options MEMORY_DISK_HOOKS # Boot RAM-disk
221 1.1 leo options DISKLABEL_NBDA # NetBSD disklabels (required)
222 1.1 leo options DISKLABEL_AHDI # NetBSD/AHDI disklabels
223 1.78 abs #if !defined(SMALL030_KERNEL)
224 1.78 abs #if !defined(FALCON_KERNEL)
225 1.86 tsutsui #options SERCONSOLE # modem1 console support, breaks Falcon
226 1.78 abs #endif /* !FALCON_KERNEL */
227 1.1 leo options RELOC_KERNEL # TT/Falcon: relocate kernel to TT-RAM
228 1.22 leo options MSGBUFSIZE=32768 # size of kernel msg. buffer
229 1.16 leo #options STATCLOCK # Separate {stat,prof}clock
230 1.78 abs #endif /* !SMALL030_KERNEL */
231 1.1 leo
232 1.78 abs #if !defined(SMALL030_KERNEL)
233 1.1 leo # Try linked commands on all targets
234 1.1 leo options TRY_SCSI_LINKED_COMMANDS=0x7f
235 1.78 abs #endif /* !SMALL030_KERNEL */
236 1.1 leo
237 1.1 leo #
238 1.1 leo # Build one kernel that can boot from any disk.
239 1.1 leo #
240 1.1 leo config netbsd root on ? type ?
241 1.1 leo
242 1.1 leo pseudo-device sl # Slip
243 1.80 abs #if !defined(SMALL030_KERNEL)
244 1.1 leo pseudo-device ppp # ppp
245 1.80 abs #endif /* !SMALL030_KERNEL */
246 1.78 abs #if !defined(NO_PHYS_NETWORK)
247 1.109 tsutsui #pseudo-device pppoe # PPP over Ethernet (RFC 2516)
248 1.78 abs #endif /* NO_PHYS_NETWORK */
249 1.1 leo pseudo-device pty # pseudo-terminals
250 1.1 leo pseudo-device loop # Loopback network
251 1.51 hubertf #options VND_COMPRESSION # compressed vnd(4)
252 1.91 hannken pseudo-device md # Boot memory disk
253 1.109 tsutsui #pseudo-device putter # for puffs and pud
254 1.1 leo
255 1.78 abs #if !defined(SMALL030_KERNEL)
256 1.80 abs pseudo-device vnd # 3 pseudo disks (see vnconfig)
257 1.59 rpaulo pseudo-device bpfilter # berkeley packet filters
258 1.62 liamjfoy #pseudo-device carp # Common Address Redundancy Protocol
259 1.109 tsutsui #pseudo-device tun # network tunnel
260 1.109 tsutsui #pseudo-device tap # virtual Ethernet
261 1.60 cube #pseudo-device gre # generic L3 over IP tunnel
262 1.60 cube pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
263 1.60 cube #pseudo-device faith # IPv[46] tcp relay translation i/f
264 1.61 pavel pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
265 1.78 abs #if !defined(NO_PHYS_NETWORK)
266 1.80 abs #pseudo-device vlan # IEEE 802.1q encapsulation
267 1.80 abs #pseudo-device bridge # simple inter-network bridging
268 1.120 roy #pseudo-device vether # Virtual Ethernet for bridge
269 1.80 abs #pseudo-device agr # IEEE 802.3ad link aggregation
270 1.78 abs #endif /* NO_PHYS_NETWORK */
271 1.109 tsutsui #pseudo-device ccd # concatenating disk driver
272 1.102 christos #pseudo-device cgd # cryptographic disk driver
273 1.103 christos #pseudo-device raid # RAIDframe disk driver
274 1.80 abs #options RAID_AUTOCONFIG # auto-configuration of RAID components
275 1.13 oster # Options to enable various other RAIDframe RAID types.
276 1.13 oster # options RF_INCLUDE_EVENODD=1
277 1.13 oster # options RF_INCLUDE_RAID5_RS=1
278 1.13 oster # options RF_INCLUDE_PARITYLOGGING=1
279 1.13 oster # options RF_INCLUDE_CHAINDECLUSTER=1
280 1.13 oster # options RF_INCLUDE_INTERDECLUSTER=1
281 1.13 oster # options RF_INCLUDE_PARITY_DECLUSTERING=1
282 1.13 oster # options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
283 1.109 tsutsui #pseudo-device fss # file system snapshot device
284 1.116 maxv #pseudo-device npf # NPF packet filter
285 1.21 lukem pseudo-device clockctl # user control of clock subsystem
286 1.118 isaki pseudo-device drvctl # user control of drive subsystem
287 1.83 tsutsui pseudo-device ksyms # /dev/ksyms
288 1.78 abs #endif /* !SMALL030_KERNEL */
289 1.15 leo
290 1.15 leo #if defined(HADES_KERNEL) || defined(MILAN_KERNEL)
291 1.15 leo
292 1.15 leo # MII/PHY support
293 1.15 leo exphy* at mii? phy ? # 3Com internal PHYs
294 1.15 leo inphy* at mii? phy ? # Intel 82555 PHYs
295 1.15 leo iophy* at mii? phy ? # Intel 82553 PHYs
296 1.15 leo ukphy* at mii? phy ? # generic unknown PHYs
297 1.15 leo
298 1.15 leo # PCI network interfaces
299 1.16 leo # If unsure, check the port-atari page for tested cards.
300 1.15 leo ep* at pci? dev ? function ? # 3Com 3c59x
301 1.15 leo fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B
302 1.15 leo
303 1.15 leo
304 1.15 leo #
305 1.15 leo # This is the only tested audio card at the moment.
306 1.15 leo #
307 1.15 leo eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive
308 1.15 leo audio* at eso?
309 1.15 leo
310 1.112 christos spkr* at audio? # PC speaker (synthesized)
311 1.110 nat
312 1.15 leo #endif /* defined(HADES_KERNEL) || defined(MILAN_KERNEL) */
313 1.1 leo
314 1.1 leo #
315 1.78 abs # Hardware options for HADES and MILAN are in their machine type specific files
316 1.1 leo #
317 1.78 abs
318 1.78 abs #if defined(TT030_KERNEL) || defined(FALCON_KERNEL)
319 1.78 abs
320 1.78 abs pseudo-device view 4 # View (graphics mapping)
321 1.78 abs #if !defined (SMALL030_KERNEL)
322 1.78 abs pseudo-device mouse 1 # mouse
323 1.78 abs #endif /* ! SMALL030_KERNEL */
324 1.78 abs
325 1.78 abs #
326 1.78 abs # The following sections describe various hardware options.
327 1.78 abs #
328 1.78 abs ncrscsi0 at mainbus0 # NCR5380 SCSI driver
329 1.78 abs zs0 at mainbus0 # Serial support through 8530
330 1.78 abs grfbus0 at mainbus0 # bitmapped display's
331 1.78 abs grfcc0 at grfbus0 # graphics driver
332 1.78 abs ite0 at grfcc0 # console
333 1.78 abs nvr0 at mainbus0 # nvram driver
334 1.78 abs
335 1.78 abs #if !defined(SMALL030_KERNEL)
336 1.78 abs grfcc1 at grfbus0 # 2nd graphics driver
337 1.78 abs ite1 at grfcc1 # 2nd tty
338 1.78 abs grfcc2 at grfbus0 # 3rd graphics driver
339 1.78 abs ite2 at grfcc2 # 3rd tty
340 1.78 abs lp0 at mainbus0 # centronics printer
341 1.78 abs ser0 at mainbus0 # UART on first 68901 (ttyB0)
342 1.85 tsutsui ne0 at mainbus0 # EtherNEC on Atari ROM cartridge slot
343 1.78 abs
344 1.78 abs #if defined(TT030_KERNEL)
345 1.78 abs avmebus0 at mainbus0 # VME bus
346 1.78 abs vme0 at avmebus0
347 1.78 abs le0 at vme0 irq 5 # Lance ethernet (Riebl/PAM).
348 1.78 abs le0 at vme0 irq 4 # Lance ethernet (BVME410).
349 1.84 tsutsui we0 at vme0 irq 4 # SMC Elite Ultra with SMC_TT VME-ISA bridge
350 1.92 tsutsui et4k0 at vme0 # Crazy Dots II
351 1.78 abs #endif /* TT030_KERNEL */
352 1.78 abs #endif /* SMALL030_KERNEL */
353 1.78 abs
354 1.78 abs #if defined(FALCON_KERNEL)
355 1.78 abs wdc0 at mainbus0 # IDE-bus
356 1.78 abs atabus* at wdc? channel ?
357 1.78 abs wd* at atabus? drive ?
358 1.78 abs
359 1.78 abs # ATAPI bus support
360 1.78 abs atapibus* at atabus?
361 1.78 abs
362 1.78 abs # ATAPI devices
363 1.78 abs cd* at atapibus? drive ? # ATAPI CD-ROM drives
364 1.78 abs #endif /* FALCON_KERNEL */
365 1.78 abs
366 1.78 abs # SCSI devices
367 1.80 abs scsibus* at scsi? # SCSI bus
368 1.78 abs sd* at scsibus? target ? lun ? # SCSI disk drives
369 1.78 abs cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
370 1.78 abs #if !defined (SMALL030_KERNEL)
371 1.109 tsutsui #st* at scsibus? target ? lun ? # SCSI tape drives
372 1.109 tsutsui #ch* at scsibus? target ? lun ? # SCSI autochangers
373 1.109 tsutsui #ss* at scsibus? target ? lun ? # SCSI scanners
374 1.125 nat dse* at scsibus? target ? lun ? # SCSI ethernet (Dayna)
375 1.78 abs se* at scsibus? target ? lun ? # SCSI ethernet
376 1.109 tsutsui #uk* at scsibus? target ? lun ? # SCSI unknown
377 1.78 abs #endif /* ! SMALL030_KERNEL */
378 1.78 abs
379 1.78 abs #endif /* TT030_KERNEL || FALCON_KERNEL */
380