#
# $NetBSD: GENERIC.in,v 1.125 2022/12/22 11:05:55 nat Exp $
#
# Generic atari
#
# Note: We have size targets for gzipped kernels:
# - ATARITT and FALCON - 1.44M floppy
# - SMALL030 - 720K (or worst case 800K) floppy
#if defined(TT030_KERNEL) || defined(FALCON_KERNEL)
include "arch/atari/conf/std.atari"
#elif defined (HADES_KERNEL)
include "arch/atari/conf/std.hades"
#elif defined (MILAN_KERNEL)
include "arch/atari/conf/std.milan"
#endif /* TT030_KERNEL / FALCON_KERNEL / HADES_KERNEL / MILAN_KERNEL */
#if !defined(SMALL030_KERNEL)
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#endif /* !SMALL030_KERNEL */
#if !defined(SMALL030_KERNEL)
makeoptions COPTS="-O2 -fno-reorder-blocks -fno-unwind-tables -fno-omit-frame-pointer" \
# See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for backtraces \
in DDB.
#else
makeoptions COPTS="-Os -fno-unwind-tables" # optimize for space
#endif /* !SMALL030_KERNEL */
#if defined(SMALL030_KERNEL) || \
(!defined(TT030_KERNEL) && !defined(HADES_KERNEL) && !defined(MILAN_KERNEL))
#define NO_PHYS_NETWORK 1
#endif /* SMALL030_KERNEL || ... */
#
# Add support for about 16 users. This variable is used to size
# various kernel structures.
#
maxusers 16
options HZ=64 # Set the clock-rate (48/64/96)
# Standard system options
options INSECURE # disable kernel security levels
#options NTP # NTP phase/frequency locked loop
# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options BUFQ_READPRIO
#options BUFQ_PRIOCSCAN
#
# (Co)processors this kernel should support
#
#if defined(TT030_KERNEL) || defined(FALCON_KERNEL)
options M68030 # support for 030
#endif /* TT030_KERNEL || FALCON_KERNEL */
#if defined(FALCON_KERNEL)
options FPU_EMULATE # Support for MC68881/MC68882 emulator
#endif /* FALCON_KERNEL */
#if (defined(FALCON_KERNEL) && !defined(SMALL030_KERNEL)) || \
defined(HADES_KERNEL) || defined(MILAN_KERNEL)
options M68040 # support for 040
options M68060 # support for 060
options FPSP # 68040 Floatingpoint support
options M060SP # MC68060 software support (Required for 060)
#endif /* ! FALCON_KERNEL & ! SMALL030_KERNEL ... */
#
# Networking options
#
options INET # IP + ICMP + TCP + UDP
#if !defined(SMALL030_KERNEL)
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_DEBUG # debug for IP security
#options GATEWAY # packet forwarding
#options MROUTING # IP multicast routing
#options PIM # Protocol Independent Multicast
#if !defined(NO_PHYS_NETWORK)
#options NETATALK # AppleTalk networking protocols
#endif /* NO_PHYS_NETWORK */
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
#options ALTQ # Manipulate network interfaces' output queues
#options ALTQ_BLUE # Stochastic Fair Blue
#options ALTQ_CBQ # Class-Based Queueing
#options ALTQ_CDNR # Diffserv Traffic Conditioner
#options ALTQ_FIFOQ # First-In First-Out Queue
#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box)
#options ALTQ_HFSC # Hierarchical Fair Service Curve
#options ALTQ_LOCALQ # Local queueing discipline
#options ALTQ_PRIQ # Priority Queueing
#options ALTQ_RED # Random Early Detection
#options ALTQ_RIO # RED with IN/OUT
#options ALTQ_WFQ # Weighted Fair Queueing
#endif /* !SMALL030_KERNEL */
# File systems
file-system FFS # Berkeley fast file system
file-system MFS # Memory based filesystem
file-system MSDOSFS # MSDOS filesystem
file-system CD9660 # ISO 9660 filesystem with Rock Ridge
#file-system UDF # experimental - OSTA UDF CD/DVD file-system
#if !defined(SMALL030_KERNEL)
file-system KERNFS # Kernel parameter filesystem
file-system NFS # Network File System client side code
file-system PROCFS # Process filesystem
#file-system FDESC # /dev/fd
file-system NULLFS # Loopback filesystem
#file-system OVERLAY # overlay filesystem
#file-system UNION # union file system
#file-system UMAPFS # null file system (with uid & gid remapping)
#file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
#file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system PTYFS # /dev/pts/N support
file-system TMPFS # Efficient memory file-system
#endif /* !SMALL030_KERNEL */
# File system options
options WAPBL # File system journaling support
options FFS_NO_SNAPSHOT # No FFS snapshot support
#if !defined(SMALL030_KERNEL)
#options FFS_EI # FFS Endian Independent support
#options QUOTA # legacy UFS quotas
#options QUOTA2 # new, in-filesystem UFS quotas
#options UFS_DIRHASH # UFS Large Directory Hashing
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
options NFSSERVER # Network File System server
#endif /* !SMALL030_KERNEL */
#
# Misc. debugging options
#
options PANICWAIT # Require keystroke to dump/reboot
#if !defined(SMALL030_KERNEL)
options DDB # Kernel debugger
options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
#options DEBUG # expensive debugging checks/support
#endif /* !SMALL030_KERNEL */
#
# Compatibility options for various existing systems
#
include "conf/compat_netbsd10.config"
#if defined(SMALL030_KERNEL)
no options COMPAT_43 # 4.3 BSD compatible system calls
no options COMPAT_10 # NetBSD 1.0,
no options COMPAT_11 # NetBSD 1.1,
no options COMPAT_12 # NetBSD 1.2,
no options COMPAT_13 # NetBSD 1.3,
no options COMPAT_14 # NetBSD 1.4,
no options COMPAT_15 # NetBSD 1.5,
#endif /* !SMALL030_KERNEL */
#if !defined(SMALL030_KERNEL)
#options COMPAT_SUNOS # Support to run Sun-3 executables
#options COMPAT_LINUX # Support to run Linux/m68k executables
#options COMPAT_OSSAUDIO # Support to run Linux/m68k executables
options COMPAT_AOUT_M68K # Compatibility to a.out executables
options EXEC_AOUT # a.out format executables
#endif /* !SMALL030_KERNEL */
#if !defined(SMALL030_KERNEL)
#
# Support for System V IPC facilities.
#
options SYSVSHM # System V shared memory
options SYSVMSG # System V messages
options SYSVSEM # System V semaphores
#endif /* !SMALL030_KERNEL */
#if !defined(SMALL030_KERNEL)
#
# Support for various kernel options
#
options KTRACE # Add kernel tracing system call
#options DIAGNOSTIC # Add additional error checking code
options USERCONF # userconf(4) support
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
options MODULAR # new style module(7) framework
#else /* SMALL030_KERNEL */
options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#endif /* !SMALL030_KERNEL */
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#if !defined(SMALL030_KERNEL)
#options SCSIVERBOSE # human readable SCSI error messages
#endif /* !SMALL030_KERNEL */
#if defined(HADES_KERNEL) || defined(MILAN_KERNEL)
#options MIIVERBOSE # verbose PHY autoconfig messages
#options PCIVERBOSE # verbose PCI device autoconfig messages
#options PCI_CONFIG_DUMP # verbosely dump PCI config space
#endif
#
# Atari specific options
#
#options KFONT_8x8 # Use 8x8 font instead of 8x16
options ST_POOL_SIZE=56 # for SCSI, FDC, and Xserver
#if defined(TT030_KERNEL) || defined(HADES_KERNEL)
options TT_SCSI # SCSI-support for TT
options TT_VIDEO # Graphics support for TT
#options ET4000_HAS_2MB_MEM # et4000 with 2 MB video memory
#endif
#if defined(FALCON_KERNEL)
options FALCON_SCSI # SCSI-support for Falcon
options FALCON_VIDEO # Graphics support for FALCON
#endif /* FALCON_KERNEL */
options MEMORY_DISK_HOOKS # Boot RAM-disk
options DISKLABEL_NBDA # NetBSD disklabels (required)
options DISKLABEL_AHDI # NetBSD/AHDI disklabels
#if !defined(SMALL030_KERNEL)
#if !defined(FALCON_KERNEL)
#options SERCONSOLE # modem1 console support, breaks Falcon
#endif /* !FALCON_KERNEL */
options RELOC_KERNEL # TT/Falcon: relocate kernel to TT-RAM
options MSGBUFSIZE=32768 # size of kernel msg. buffer
#options STATCLOCK # Separate {stat,prof}clock
#endif /* !SMALL030_KERNEL */
#if !defined(SMALL030_KERNEL)
# Try linked commands on all targets
options TRY_SCSI_LINKED_COMMANDS=0x7f
#endif /* !SMALL030_KERNEL */
#
# Build one kernel that can boot from any disk.
#
config netbsd root on ? type ?
pseudo-device sl # Slip
#if !defined(SMALL030_KERNEL)
pseudo-device ppp # ppp
#endif /* !SMALL030_KERNEL */
#if !defined(NO_PHYS_NETWORK)
#pseudo-device pppoe # PPP over Ethernet (RFC 2516)
#endif /* NO_PHYS_NETWORK */
pseudo-device pty # pseudo-terminals
pseudo-device loop # Loopback network
#options VND_COMPRESSION # compressed vnd(4)
pseudo-device md # Boot memory disk
#pseudo-device putter # for puffs and pud
#if !defined(SMALL030_KERNEL)
pseudo-device vnd # 3 pseudo disks (see vnconfig)
pseudo-device bpfilter # berkeley packet filters
#pseudo-device carp # Common Address Redundancy Protocol
#pseudo-device tun # network tunnel
#pseudo-device tap # virtual Ethernet
#pseudo-device gre # generic L3 over IP tunnel
pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith # IPv[46] tcp relay translation i/f
pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
#if !defined(NO_PHYS_NETWORK)
#pseudo-device vlan # IEEE 802.1q encapsulation
#pseudo-device bridge # simple inter-network bridging
#pseudo-device vether # Virtual Ethernet for bridge
#pseudo-device agr # IEEE 802.3ad link aggregation
#endif /* NO_PHYS_NETWORK */
#pseudo-device ccd # concatenating disk driver
#pseudo-device cgd # cryptographic disk driver
#pseudo-device raid # RAIDframe disk driver
#options RAID_AUTOCONFIG # auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options RF_INCLUDE_EVENODD=1
# options RF_INCLUDE_RAID5_RS=1
# options RF_INCLUDE_PARITYLOGGING=1
# options RF_INCLUDE_CHAINDECLUSTER=1
# options RF_INCLUDE_INTERDECLUSTER=1
# options RF_INCLUDE_PARITY_DECLUSTERING=1
# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
#pseudo-device fss # file system snapshot device
#pseudo-device npf # NPF packet filter
pseudo-device clockctl # user control of clock subsystem
pseudo-device drvctl # user control of drive subsystem
pseudo-device ksyms # /dev/ksyms
#endif /* !SMALL030_KERNEL */
#if defined(HADES_KERNEL) || defined(MILAN_KERNEL)
# MII/PHY support
exphy* at mii? phy ? # 3Com internal PHYs
inphy* at mii? phy ? # Intel 82555 PHYs
iophy* at mii? phy ? # Intel 82553 PHYs
ukphy* at mii? phy ? # generic unknown PHYs
# PCI network interfaces
# If unsure, check the port-atari page for tested cards.
ep* at pci? dev ? function ? # 3Com 3c59x
fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B
#
# This is the only tested audio card at the moment.
#
eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive
audio* at eso?
spkr* at audio? # PC speaker (synthesized)
#endif /* defined(HADES_KERNEL) || defined(MILAN_KERNEL) */
#
# Hardware options for HADES and MILAN are in their machine type specific files
#
#if defined(TT030_KERNEL) || defined(FALCON_KERNEL)
pseudo-device view 4 # View (graphics mapping)
#if !defined (SMALL030_KERNEL)
pseudo-device mouse 1 # mouse
#endif /* ! SMALL030_KERNEL */
#
# The following sections describe various hardware options.
#
ncrscsi0 at mainbus0 # NCR5380 SCSI driver
zs0 at mainbus0 # Serial support through 8530
grfbus0 at mainbus0 # bitmapped display's
grfcc0 at grfbus0 # graphics driver
ite0 at grfcc0 # console
nvr0 at mainbus0 # nvram driver
#if !defined(SMALL030_KERNEL)
grfcc1 at grfbus0 # 2nd graphics driver
ite1 at grfcc1 # 2nd tty
grfcc2 at grfbus0 # 3rd graphics driver
ite2 at grfcc2 # 3rd tty
lp0 at mainbus0 # centronics printer
ser0 at mainbus0 # UART on first 68901 (ttyB0)
ne0 at mainbus0 # EtherNEC on Atari ROM cartridge slot
#if defined(TT030_KERNEL)
avmebus0 at mainbus0 # VME bus
vme0 at avmebus0
le0 at vme0 irq 5 # Lance ethernet (Riebl/PAM).
le0 at vme0 irq 4 # Lance ethernet (BVME410).
we0 at vme0 irq 4 # SMC Elite Ultra with SMC_TT VME-ISA bridge
et4k0 at vme0 # Crazy Dots II
#endif /* TT030_KERNEL */
#endif /* SMALL030_KERNEL */
#if defined(FALCON_KERNEL)
wdc0 at mainbus0 # IDE-bus
atabus* at wdc? channel ?
wd* at atabus? drive ?
# ATAPI bus support
atapibus* at atabus?
# ATAPI devices
cd* at atapibus? drive ? # ATAPI CD-ROM drives
#endif /* FALCON_KERNEL */
# SCSI devices
scsibus* at scsi? # SCSI bus
sd* at scsibus? target ? lun ? # SCSI disk drives
cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
#if !defined (SMALL030_KERNEL)
#st* at scsibus? target ? lun ? # SCSI tape drives
#ch* at scsibus? target ? lun ? # SCSI autochangers
#ss* at scsibus? target ? lun ? # SCSI scanners
dse* at scsibus? target ? lun ? # SCSI ethernet (Dayna)
se* at scsibus? target ? lun ? # SCSI ethernet
#uk* at scsibus? target ? lun ? # SCSI unknown
#endif /* ! SMALL030_KERNEL */
#endif /* TT030_KERNEL || FALCON_KERNEL */