GENERIC.in revision 1.122
1#
2#	$NetBSD: GENERIC.in,v 1.122 2022/06/12 06:54:32 tsutsui 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 	QUOTA		# legacy UFS quotas
133#options 	QUOTA2		# new, in-filesystem UFS quotas
134#options 	FFS_EI		# FFS Endian Independent support
135#options	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
136options 	NFSSERVER	# Network File System server side code
137#options 	EXT2FS_SYSTEM_FLAGS	# makes ext2fs file flags (append and
138				# immutable) behave as system flags.
139#endif /* !SMALL030_KERNEL */
140
141#
142# Misc. debugging options
143#
144options 	PANICWAIT	# Require keystroke to dump/reboot
145#if !defined(SMALL030_KERNEL)
146options 	DDB		# Kernel debugger
147options 	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#
154include 	"conf/compat_netbsd10.config"
155#if defined(SMALL030_KERNEL)
156no options 	COMPAT_43	# 4.3 BSD compatible system calls
157no options 	COMPAT_10	# NetBSD 1.0,
158no options 	COMPAT_11	# NetBSD 1.1,
159no options 	COMPAT_12	# NetBSD 1.2,
160no options 	COMPAT_13	# NetBSD 1.3,
161no options 	COMPAT_14	# NetBSD 1.4,
162no 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
168options 	COMPAT_AOUT_M68K # Compatibility to a.out executables
169options 	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#
176options 	SYSVSHM			# System V shared memory
177options 	SYSVMSG			# System V messages
178options 	SYSVSEM			# System V semaphores
179#endif /* !SMALL030_KERNEL */
180
181#if !defined(SMALL030_KERNEL)
182#
183# Support for various kernel options
184#
185options 	KTRACE			# Add kernel tracing system call
186#options 	DIAGNOSTIC		# Add additional error checking code
187options 	USERCONF		# userconf(4) support
188#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
189options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
190options 	MODULAR			# new style module(7) framework
191#else /* SMALL030_KERNEL */
192options		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
210options 	ST_POOL_SIZE=24		# smallest that allows TT-HIGH
211#if defined(TT030_KERNEL) || defined(HADES_KERNEL)
212options 	TT_SCSI			# SCSI-support for TT
213options 	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)
217options 	FALCON_SCSI		# SCSI-support for Falcon
218options 	FALCON_VIDEO		# Graphics support for FALCON
219#endif /* FALCON_KERNEL */
220options 	MEMORY_DISK_HOOKS	# Boot RAM-disk
221options 	DISKLABEL_NBDA		# NetBSD disklabels (required)
222options 	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 */
227options 	RELOC_KERNEL		# TT/Falcon: relocate kernel to TT-RAM
228options 	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
234options 	TRY_SCSI_LINKED_COMMANDS=0x7f
235#endif /* !SMALL030_KERNEL */
236
237#
238# Build one kernel that can boot from any disk.
239#
240config		netbsd root on ? type ?
241
242pseudo-device	sl			# Slip
243#if !defined(SMALL030_KERNEL)
244pseudo-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 */
249pseudo-device	pty			# pseudo-terminals
250pseudo-device	loop			# Loopback network
251#options 	VND_COMPRESSION		# compressed vnd(4)
252pseudo-device	md			# Boot memory disk
253#pseudo-device	putter			# for puffs and pud
254
255#if !defined(SMALL030_KERNEL)
256pseudo-device	vnd			# 3 pseudo disks (see vnconfig)
257pseudo-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
262pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
263#pseudo-device	faith			# IPv[46] tcp relay translation i/f
264pseudo-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
285pseudo-device	clockctl		# user control of clock subsystem
286pseudo-device	drvctl			# user control of drive subsystem
287pseudo-device	ksyms			# /dev/ksyms
288#endif /* !SMALL030_KERNEL */
289
290#if defined(HADES_KERNEL) || defined(MILAN_KERNEL)
291
292# MII/PHY support
293exphy*	at mii? phy ?			# 3Com internal PHYs
294inphy*	at mii? phy ?			# Intel 82555 PHYs
295iophy*	at mii? phy ?			# Intel 82553 PHYs
296ukphy*	at mii? phy ?			# generic unknown PHYs
297
298# PCI network interfaces
299# If unsure, check the port-atari page for tested cards.
300ep*	at pci? dev ? function ?	# 3Com 3c59x
301fxp*	at pci? dev ? function ?	# Intel EtherExpress PRO 10+/100B
302
303
304#
305# This is the only tested audio card at the moment.
306#
307eso*	at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
308audio*	at eso?
309
310spkr*	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
320pseudo-device	view	4	# View (graphics mapping)
321#if !defined (SMALL030_KERNEL)
322pseudo-device	mouse	1	# mouse
323#endif /* ! SMALL030_KERNEL */
324
325#
326# The following sections describe various hardware options.
327#
328ncrscsi0	at mainbus0	# NCR5380 SCSI driver
329zs0		at mainbus0	# Serial support through 8530
330grfbus0 	at mainbus0	# bitmapped display's
331grfcc0		at grfbus0	# graphics driver
332ite0		at grfcc0	# console
333nvr0		at mainbus0	# nvram driver
334
335#if !defined(SMALL030_KERNEL)
336grfcc1		at grfbus0	# 2nd graphics driver
337ite1		at grfcc1	# 2nd tty
338grfcc2		at grfbus0	# 3rd graphics driver
339ite2		at grfcc2	# 3rd tty
340lp0		at mainbus0	# centronics printer
341ser0		at mainbus0	# UART on first 68901 (ttyB0)
342ne0		at mainbus0	# EtherNEC on Atari ROM cartridge slot
343
344#if defined(TT030_KERNEL)
345avmebus0	at mainbus0	# VME bus
346vme0		at avmebus0
347le0		at vme0	irq 5	# Lance ethernet (Riebl/PAM).
348le0		at vme0 irq 4	# Lance ethernet (BVME410).
349we0		at vme0 irq 4	# SMC Elite Ultra with SMC_TT VME-ISA bridge
350et4k0		at vme0		# Crazy Dots II
351#endif /* TT030_KERNEL */
352#endif /* SMALL030_KERNEL */
353
354#if defined(FALCON_KERNEL)
355wdc0		at mainbus0	# IDE-bus
356atabus*		at wdc? channel ?
357wd*		at atabus? drive ?
358
359 # ATAPI bus support
360atapibus*	at atabus?
361
362# ATAPI devices
363cd*		at atapibus? drive ?	# ATAPI CD-ROM drives
364#endif /* FALCON_KERNEL */
365
366# SCSI devices
367scsibus* at scsi?			# SCSI bus
368sd* 	at scsibus? target ? lun ?	# SCSI disk drives
369cd* 	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
374se* 	at scsibus? target ? lun ?	# SCSI ethernet
375#uk* 	at scsibus? target ? lun ?	# SCSI unknown
376#endif /* ! SMALL030_KERNEL */
377
378#endif /* TT030_KERNEL || FALCON_KERNEL */
379