1#
2#	$NetBSD: GENERIC.in,v 1.126 2024/01/29 18:27:10 christos 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)
11include "arch/atari/conf/std.atari"
12#elif defined (HADES_KERNEL)
13include "arch/atari/conf/std.hades"
14#elif defined (MILAN_KERNEL)
15include "arch/atari/conf/std.milan"
16#endif /* TT030_KERNEL / FALCON_KERNEL / HADES_KERNEL / MILAN_KERNEL */
17
18#if !defined(SMALL030_KERNEL)
19options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
20#endif /* !SMALL030_KERNEL */
21
22#if !defined(SMALL030_KERNEL)
23makeoptions	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 \
25in DDB.
26#else
27makeoptions	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#
39maxusers	16
40
41options 	HZ=64		# Set the clock-rate (48/64/96)
42
43# Standard system options
44options 	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)
56options 	M68030		# support for 030
57#endif /* TT030_KERNEL || FALCON_KERNEL */
58#if defined(FALCON_KERNEL)
59options 	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)
63options 	M68040		# support for 040
64options 	M68060		# support for 060
65options 	FPSP		# 68040 Floatingpoint support
66options 	M060SP		# MC68060 software support (Required for 060)
67#endif /* ! FALCON_KERNEL & ! SMALL030_KERNEL ... */
68
69#
70# Networking options
71#
72options 	INET		# IP + ICMP + TCP + UDP
73
74#if !defined(SMALL030_KERNEL)
75options 	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
85options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
86options 	PPP_DEFLATE	# Deflate compression support for PPP
87options 	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
106file-system 	FFS		# Berkeley fast file system
107file-system 	MFS		# Memory based filesystem
108file-system 	MSDOSFS		# MSDOS filesystem
109file-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)
113file-system 	KERNFS		# Kernel parameter filesystem
114file-system 	NFS		# Network File System client side code
115file-system 	PROCFS		# Process filesystem
116#file-system 	FDESC		# /dev/fd
117file-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
124file-system	PTYFS		# /dev/pts/N support
125file-system	TMPFS		# Efficient memory file-system
126#endif /* !SMALL030_KERNEL */
127
128# File system options
129options 	WAPBL		# File system journaling support
130options 	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
136options 	NFSSERVER	# Network File System server
137#endif /* !SMALL030_KERNEL */
138
139#
140# Misc. debugging options
141#
142options 	PANICWAIT	# Require keystroke to dump/reboot
143#if !defined(SMALL030_KERNEL)
144options 	DDB		# Kernel debugger
145options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
146#options 	DEBUG		# expensive debugging checks/support
147#endif /* !SMALL030_KERNEL */
148
149#
150# Compatibility options for various existing systems
151#
152include 	"conf/compat_netbsd10.config"
153#if defined(SMALL030_KERNEL)
154no options 	COMPAT_43	# 4.3 BSD compatible system calls
155no options 	COMPAT_10	# NetBSD 1.0,
156no options 	COMPAT_11	# NetBSD 1.1,
157no options 	COMPAT_12	# NetBSD 1.2,
158no options 	COMPAT_13	# NetBSD 1.3,
159no options 	COMPAT_14	# NetBSD 1.4,
160no options 	COMPAT_15	# NetBSD 1.5,
161#endif /* !SMALL030_KERNEL */
162#if !defined(SMALL030_KERNEL)
163#options 	COMPAT_SUNOS	# Support to run Sun-3 executables
164#options 	COMPAT_LINUX	# Support to run Linux/m68k executables
165#options 	COMPAT_OSSAUDIO	# Support to run Linux/m68k executables
166options 	COMPAT_AOUT_M68K # Compatibility to a.out executables
167options 	EXEC_AOUT	# a.out format executables
168#endif /* !SMALL030_KERNEL */
169
170#if !defined(SMALL030_KERNEL)
171#
172# Support for System V IPC facilities.
173#
174options 	SYSVSHM			# System V shared memory
175options 	SYSVMSG			# System V messages
176options 	SYSVSEM			# System V semaphores
177#endif /* !SMALL030_KERNEL */
178
179#if !defined(SMALL030_KERNEL)
180#
181# Support for various kernel options
182#
183options 	KTRACE			# Add kernel tracing system call
184#options 	DIAGNOSTIC		# Add additional error checking code
185options 	USERCONF		# userconf(4) support
186#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
187options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
188options 	MODULAR			# new style module(7) framework
189#else /* SMALL030_KERNEL */
190options		PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
191#endif /* !SMALL030_KERNEL */
192
193# These options enable verbose messages for several subsystems.
194# Warning, these may compile large string tables into the kernel!
195#if !defined(SMALL030_KERNEL)
196#options 	SCSIVERBOSE		# human readable SCSI error messages
197#endif /* !SMALL030_KERNEL */
198#if defined(HADES_KERNEL) || defined(MILAN_KERNEL)
199#options 	MIIVERBOSE		# verbose PHY autoconfig messages
200#options 	PCIVERBOSE		# verbose PCI device autoconfig messages
201#options 	PCI_CONFIG_DUMP		# verbosely dump PCI config space
202#endif
203
204#
205# Atari specific options
206#
207#options 	KFONT_8x8		# Use 8x8 font instead of 8x16
208options 	ST_POOL_SIZE=56		# for SCSI, FDC, and Xserver
209#if defined(TT030_KERNEL) || defined(HADES_KERNEL)
210options 	TT_SCSI			# SCSI-support for TT
211options 	TT_VIDEO		# Graphics support for TT
212#options	ET4000_HAS_2MB_MEM	# et4000 with 2 MB video memory
213#endif
214#if defined(FALCON_KERNEL)
215options 	FALCON_SCSI		# SCSI-support for Falcon
216options 	FALCON_VIDEO		# Graphics support for FALCON
217#endif /* FALCON_KERNEL */
218options 	MEMORY_DISK_HOOKS	# Boot RAM-disk
219options 	DISKLABEL_NBDA		# NetBSD disklabels (required)
220options 	DISKLABEL_AHDI		# NetBSD/AHDI disklabels
221#if !defined(SMALL030_KERNEL)
222#if !defined(FALCON_KERNEL)
223#options 	SERCONSOLE		# modem1 console support, breaks Falcon
224#endif /* !FALCON_KERNEL */
225options 	RELOC_KERNEL		# TT/Falcon: relocate kernel to TT-RAM
226options 	MSGBUFSIZE=32768        # size of kernel msg. buffer
227#options 	STATCLOCK	        # Separate {stat,prof}clock
228#endif /* !SMALL030_KERNEL */
229
230#if !defined(SMALL030_KERNEL)
231# Try linked commands on all targets
232options 	TRY_SCSI_LINKED_COMMANDS=0x7f
233#endif /* !SMALL030_KERNEL */
234
235#
236# Build one kernel that can boot from any disk.
237#
238config		netbsd root on ? type ?
239
240pseudo-device	sl			# Slip
241#if !defined(SMALL030_KERNEL)
242pseudo-device	ppp			# ppp
243#endif /* !SMALL030_KERNEL */
244#if !defined(NO_PHYS_NETWORK)
245#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
246#endif /* NO_PHYS_NETWORK */
247pseudo-device	pty			# pseudo-terminals
248pseudo-device	loop			# Loopback network
249#options 	VND_COMPRESSION		# compressed vnd(4)
250pseudo-device	md			# Boot memory disk
251#pseudo-device	putter			# for puffs and pud
252
253#if !defined(SMALL030_KERNEL)
254pseudo-device	vnd			# 3 pseudo disks (see vnconfig)
255pseudo-device	bpfilter		# berkeley packet filters
256#pseudo-device	carp			# Common Address Redundancy Protocol
257#pseudo-device	tun			# network tunnel
258#pseudo-device	tap			# virtual Ethernet
259#pseudo-device	gre			# generic L3 over IP tunnel
260pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
261#pseudo-device	faith			# IPv[46] tcp relay translation i/f
262pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
263#if !defined(NO_PHYS_NETWORK)
264#pseudo-device	vlan			# IEEE 802.1q encapsulation
265#pseudo-device	bridge			# simple inter-network bridging
266#pseudo-device	vether			# Virtual Ethernet for bridge
267#pseudo-device	agr			# IEEE 802.3ad link aggregation
268#endif /* NO_PHYS_NETWORK */
269#pseudo-device	ccd			# concatenating disk driver
270#pseudo-device	cgd			# cryptographic disk driver
271#pseudo-device	raid			# RAIDframe disk driver
272#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
273# Options to enable various other RAIDframe RAID types.
274# options	RF_INCLUDE_EVENODD=1
275# options	RF_INCLUDE_RAID5_RS=1
276# options	RF_INCLUDE_PARITYLOGGING=1
277# options	RF_INCLUDE_CHAINDECLUSTER=1
278# options	RF_INCLUDE_INTERDECLUSTER=1
279# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
280# options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
281#pseudo-device	fss			# file system snapshot device
282#pseudo-device	npf			# NPF packet filter
283pseudo-device	clockctl		# user control of clock subsystem
284pseudo-device	drvctl			# user control of drive subsystem
285pseudo-device	ksyms			# /dev/ksyms
286#endif /* !SMALL030_KERNEL */
287
288#if defined(HADES_KERNEL) || defined(MILAN_KERNEL)
289
290# MII/PHY support
291exphy*	at mii? phy ?			# 3Com internal PHYs
292inphy*	at mii? phy ?			# Intel 82555 PHYs
293iophy*	at mii? phy ?			# Intel 82553 PHYs
294ukphy*	at mii? phy ?			# generic unknown PHYs
295
296# PCI network interfaces
297# If unsure, check the port-atari page for tested cards.
298ep*	at pci? dev ? function ?	# 3Com 3c59x
299fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
300
301
302#
303# This is the only tested audio card at the moment.
304#
305eso*	at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
306audio*	at eso?
307
308spkr*	at audio?			# PC speaker (synthesized)
309
310#endif /* defined(HADES_KERNEL) || defined(MILAN_KERNEL) */
311
312#
313# Hardware options for HADES and MILAN are in their machine type specific files
314#
315
316#if defined(TT030_KERNEL) || defined(FALCON_KERNEL)
317
318pseudo-device	view	4	# View (graphics mapping)
319#if !defined (SMALL030_KERNEL)
320pseudo-device	mouse	1	# mouse
321#endif /* ! SMALL030_KERNEL */
322
323#
324# The following sections describe various hardware options.
325#
326ncrscsi0	at mainbus0	# NCR5380 SCSI driver
327zs0		at mainbus0	# Serial support through 8530
328grfbus0 	at mainbus0	# bitmapped display's
329grfcc0		at grfbus0	# graphics driver
330ite0		at grfcc0	# console
331nvr0		at mainbus0	# nvram driver
332
333#if !defined(SMALL030_KERNEL)
334grfcc1		at grfbus0	# 2nd graphics driver
335ite1		at grfcc1	# 2nd tty
336grfcc2		at grfbus0	# 3rd graphics driver
337ite2		at grfcc2	# 3rd tty
338lp0		at mainbus0	# centronics printer
339ser0		at mainbus0	# UART on first 68901 (ttyB0)
340ne0		at mainbus0	# EtherNEC on Atari ROM cartridge slot
341
342#if defined(TT030_KERNEL)
343avmebus0	at mainbus0	# VME bus
344vme0		at avmebus0
345le0		at vme0	irq 5	# Lance ethernet (Riebl/PAM).
346le0		at vme0 irq 4	# Lance ethernet (BVME410).
347we0		at vme0 irq 4	# SMC Elite Ultra with SMC_TT VME-ISA bridge
348et4k0		at vme0		# Crazy Dots II
349#endif /* TT030_KERNEL */
350#endif /* SMALL030_KERNEL */
351
352#if defined(FALCON_KERNEL)
353wdc0		at mainbus0	# IDE-bus
354atabus*		at wdc? channel ?
355wd*		at atabus? drive ?
356
357 # ATAPI bus support
358atapibus*	at atabus?
359
360# ATAPI devices
361cd*		at atapibus? drive ?	# ATAPI CD-ROM drives
362#endif /* FALCON_KERNEL */
363
364# SCSI devices
365scsibus* at scsi?			# SCSI bus
366sd* 	at scsibus? target ? lun ?	# SCSI disk drives
367cd* 	at scsibus? target ? lun ?	# SCSI CD-ROM drives
368#if !defined (SMALL030_KERNEL)
369#st* 	at scsibus? target ? lun ?	# SCSI tape drives
370#ch* 	at scsibus? target ? lun ?	# SCSI autochangers
371#ss* 	at scsibus? target ? lun ?	# SCSI scanners
372dse*	at scsibus? target ? lun ?	# SCSI ethernet (Dayna)
373se* 	at scsibus? target ? lun ?	# SCSI ethernet
374#uk* 	at scsibus? target ? lun ?	# SCSI unknown
375#endif /* ! SMALL030_KERNEL */
376
377#endif /* TT030_KERNEL || FALCON_KERNEL */
378