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