1# $NetBSD: GENERIC,v 1.207 2023/02/12 14:50:41 abs Exp $
2#
3# GENERIC machine description file
4#
5# This machine description file is used to generate the default NetBSD
6# kernel.  The generic kernel does not include all options, subsystems
7# and device drivers, but should be useful for most applications.
8#
9# The machine description file can be customised for your specific
10# machine to reduce the kernel size and improve its performance.
11#
12# For further information on compiling NetBSD kernels, see the config(8)
13# man page.
14#
15# For further information on hardware support for this architecture, see
16# the intro(4) man page.  For further information about kernel options
17# for this architecture, see the options(4) man page.  For an explanation
18# of each device driver in this file see the section 4 man page for the
19# device.
20
21include   "arch/pmax/conf/std.pmax"
22
23options   INCLUDE_CONFIG_FILE # embed config file in kernel binary
24
25#ident              "GENERIC-$Revision: 1.207 $"
26
27maxusers  64
28
29options   MIPS1               # R2000/R3000 CPUs
30options   MIPS3               # R4000/R4400 CPUs
31
32
33# Support for specific models of DECstation
34options   DEC_3100  # DECstation 2100, 3100 (kn01)
35options   DEC_5100  # DECsystem 5100 (kn230)
36options   DEC_3MAX  # DECstation 5000/200 (kn02)
37options   DEC_3MIN  # DECstation 5000/1xx (kn02ba), 5000/150 (kn04)
38options   DEC_MAXINE          # Personal DECstation 5000/xx (kn02ca)
39options   DEC_3MAXPLUS        # DECstation 5000/240 (kn03), 5000/260 (kn05)
40
41#options  DEC_5400  # DECsystem 5400 (kn210)
42#options  DEC_5500  # DECsystem 5500 (kn220)
43#options  DEC_5800  # DECsystem 58x0 (kn5800)
44
45makeoptions         DEBUG="-g"
46# Standard system options
47options   DDB                           # in-kernel debugger
48options   DDB_HISTORY_SIZE=512          # enable history editing in DDB
49options   DDB_ONPANIC=1                 # don't enter debugger on panic
50options   DDB_COMMANDONENTER="trace;show registers"
51options   DIAGNOSTIC                    # extra kernel debugging checks
52options   DEBUG                         # extra kernel debugging support
53#options  LOCKDEBUG
54#options  VMFAULT_TRACE
55#options  PMAP_FAULTINFO
56options   KTRACE                        # system call tracing support
57
58options   SYSVMSG             # System V-like message queues
59options   SYSVSEM             # System V-like semaphores
60options   SYSVSHM             # System V-like memory sharing
61
62options   USERCONF  # userconf(4) support
63#options  PIPE_SOCKETPAIR     # smaller, but slower pipe(2)
64options   SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
65
66# Alternate buffer queue strategies for better responsiveness under high
67# disk I/O load.
68#options  BUFQ_READPRIO
69options   BUFQ_PRIOCSCAN
70
71#options  SCSIVERBOSE                   # Verbose SCSI errors
72#options  TCVERBOSE           # recognize "unknown" TC devices
73
74# Old 4.4BSD/pmax kgdb options
75#options  KGDB                          # support for kernel gdb
76#options  KGDB_DEVRATE=19200  # kernel gdb port rate (default 9600)
77#options  KGDB_DEV="15*256+0" # device for kernel gdb
78
79options   NTP                           # network time protocol
80
81
82# File systems
83file-system         FFS                 # fast filesystem with user and group quotas
84file-system         MFS                 # memory-based filesystem
85file-system         NFS                 # Sun NFS-compatible filesystem (client)
86file-system         LFS                 # Log-based filesystem (still experimental)
87file-system         CD9660              # ISO 9660 + Rock Ridge file system
88file-system         FDESC               # /dev/fd
89file-system         KERNFS              # /kern (kernel informational filesystem)
90file-system         NULLFS              # loopback file system
91file-system         OVERLAY             # overlay file system
92file-system         PUFFS               # Userspace file systems (e.g. ntfs-3g & sshfs)
93file-system         PROCFS              # /proc
94file-system         UMAPFS              # NULLFS + uid and gid remapping
95file-system         UNION
96file-system         PTYFS               # /dev/pts/N support
97file-system         TMPFS               # Efficient memory file-system
98#file-system        UDF                 # experimental - OSTA UDF CD/DVD file-system
99
100# File system options
101#options  FFS_EI              # FFS Endian Independent support
102#options  FFS_NO_SNAPSHOT     # No FFS snapshot support
103options   QUOTA               # legacy UFS quotas
104options   QUOTA2              # new, in-filesystem UFS quotas
105options   UFS_DIRHASH         # UFS Large Directory Hashing
106options   UFS_EXTATTR         # Extended attribute support for UFS1
107options   WAPBL               # File system journaling support
108options   LFS_DIRHASH         # LFS version of UFS_DIRHASH - experimental
109options   NFSSERVER # Network File System server
110
111# Networking options
112options   INET                # Internet protocols
113options   INET6               # IPV6
114#options  IPSEC               # IP security
115#options  IPSEC_DEBUG         # debug for IP security
116options   GATEWAY             # IP packet forwarding
117#options  MROUTING  # Multicast routing support
118#options  PIM                 # Protocol Independent Multicast
119options   NETATALK  # AppleTalk networking protocols
120options   PPP_BSDCOMP         # BSD-Compress compression support for PPP
121options   PPP_DEFLATE         # Deflate compression support for PPP
122options   PPP_FILTER          # Active filter support for PPP (requires bpf)
123#options  TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
124
125#options  ALTQ                # Manipulate network interfaces' output queues
126#options  ALTQ_BLUE # Stochastic Fair Blue
127#options  ALTQ_CBQ  # Class-Based Queueing
128#options  ALTQ_CDNR # Diffserv Traffic Conditioner
129#options  ALTQ_FIFOQ          # First-In First-Out Queue
130#options  ALTQ_FLOWVALVE      # RED/flow-valve (red-penalty-box)
131#options  ALTQ_HFSC # Hierarchical Fair Service Curve
132#options  ALTQ_LOCALQ         # Local queueing discipline
133#options  ALTQ_PRIQ # Priority Queueing
134#options  ALTQ_RED  # Random Early Detection
135#options  ALTQ_RIO  # RED with IN/OUT
136#options  ALTQ_WFQ  # Weighted Fair Queueing
137
138# JIT compiler for bpfilter
139#options  SLJIT
140#options  BPFJIT
141
142# NetBSD backwards compatibility
143include   "conf/compat_netbsd12.config"
144
145# Workstation console options
146options   FONT_BOLD8x16
147options   FONT_GALLANT12x22
148
149options   WSEMUL_VT100
150options   WSDISPLAY_COMPAT_USL                    # wsconscfg VT handling
151options   WS_KERNEL_FG=WSCOL_GREEN
152options   WS_KERNEL_BG=WSCOL_BLACK
153
154# Disable kernel security levels.  Needed for X with a PX or PXG.
155#options  INSECURE
156
157# pmax specific
158options   COMPAT_ULTRIX       # Ultrix compatibility
159#options  EXEC_AOUT # Old NetBSD/pmax a.out compatibility
160options   EXEC_ECOFF          # Ultrix RISC binaries are ECOFF format
161options   HZ=256              # RTC rate required
162
163options   NFS_BOOT_DHCP       # superset of BOOTP
164
165config              netbsd              root on ? type ?
166#config             nfsnetbsd root on ? type nfs
167
168
169mainbus0  at root
170cpu*                at mainbus0
171
172## Peripheral Bus Support (for devices to attach to)
173## ----------------------------------------------------------------------------
174
175# TURBOchannel bus support
176tc*       at        mainbus0
177
178# 3MIN, 3MAX+ and MAXINE have IOASIC in system slot
179ioasic0   at        tc?
180mcclock* at         ioasic? offset ?    # DS1287 RTC
181le*       at        ioasic? offset ?    # LANCE
182dt*       at      ioasic? offset ?        # MAXINE kbd and mouse
183bba*      at        ioasic? offset ?    # MAXINE baseboard audio
184#fdc      at        ioasic? offset ?    # MAXINE floppy disk (not supported)
185zsc0      at        ioasic? offset 0x100000 # Z85C30
186zsc1      at        ioasic? offset 0x180000 # Z85C30
187asc*      at        ioasic? offset ?    # NCR53C94 SCSI with IOASIC
188
189zstty*    at        zsc? channel ?                # serial ports on B/A channels
190lkkbd*    at        zsc1 channel ?                # keyboard port on A channels
191vsms*     at        zsc0 channel ?                # mouse port on A channels
192
193audio*    at        bba?
194
195spkr*     at        audio?                        # PC speaker (synthesized)
196
197dtkbd*    at        dt? addr ?
198dtms*     at        dt? addr ?
199
200# 3MAX has TURBOchannel but no IOASIC
201ibus0     at        tc? slot ? offset ? # 3MAX system slot
202
203# PMAX, 3MAX and MIPSMATE common devices
204mcclock* at         ibus0 addr ?                  # DS1287 RTC
205dz*       at        ibus0 addr ?                  # DC7085 quad line serial device
206
207lkkbd*    at        dz? line 0                    # Keyboard
208vsms*     at        dz? line 1                    # Mouse
209
210# TURBOchannel devices
211mfb*      at        tc? slot ? offset ? # PMAG-A MX Monochrome Framebuffer
212cfb*      at        tc? slot ? offset ? # PMAG-B CX Color Framebuffer
213tfb*      at        tc? slot ? offset ? # PMAG-RO TX True Color Framebuffer
214sfb*      at        tc? slot ? offset ? # PMAGB-B HX Smart Framebuffer
215px*       at        tc? slot ? offset ? # PMAG-C 2D accelerator
216pxg*      at        tc? slot ? offset ? # PMAG-D,E,F 3D accelerator
217#sfbp*    at        tc? slot ? offset ? # PMAGD HX+ Smart Framebuffer
218xcfb*     at        tc? slot ? offset ? # PMAG-DV Color Framebuffer at MAXINE
219asc*      at        tc? slot ? offset ? # PMAZ-A single channel SCSI
220le*       at        tc? slot ? offset ? # PMAD-A LANCE
221tcds*     at        tc? slot ? offset ? # PMAZB/PMAZC dual channel SCSI
222asc*      at        tcds? chip ?
223
224# PMAX and MIPSMATE
225ibus0     at        mainbus0
226pm*       at        ibus0 addr ?                  # 3100 onboard fb
227le*       at        ibus0 addr ?                  # 3100, 5100 onboard LANCE
228sii*      at        ibus0 addr ?                  # DC7061 onboard SCSI
229
230# Workstation console
231
232wskbd*              at        lkkbd? console ?
233wskbd*              at        dtkbd? console ?
234wsmouse*  at        vsms?
235wsmouse*  at        dtms?
236
237wsdisplay*          at        mfb?
238wsdisplay*          at        cfb?
239wsdisplay*          at        px?
240wsdisplay*          at        pxg?
241wsdisplay*          at        sfb?
242#wsdisplay*         at        sfbp?
243wsdisplay*          at        tfb?
244wsdisplay*          at        xcfb?
245wsdisplay*          at        pm?
246
247
248#########################################################################
249# SCSI configuration                                                                      #
250#########################################################################
251
252scsibus* at sii?
253scsibus* at asc?
254
255sd*       at scsibus? target ? lun ?    # SCSI disks
256st*       at scsibus? target ? lun ?    # SCSI tapes
257cd*       at scsibus? target ? lun ?    # SCSI CD-ROMs
258ch*       at scsibus? target ? lun ?    # SCSI changer devices
259ss*       at scsibus? target ? lun ?    # SCSI scanners
260uk*       at scsibus? target ? lun ?    # unknown SCSI
261
262#########################################################################
263# Pseudo-devices                                                                #
264#########################################################################
265
266#
267# accept filters
268pseudo-device   accf_data               # "dataready" accept filter
269pseudo-device   accf_http               # "httpready" accept filter
270
271pseudo-device       loop                          # network loopback
272pseudo-device       sl                            # serial-line IP ports
273pseudo-device       ppp                           # serial-line IP ports
274pseudo-device       pppoe                         # PPP over Ethernet (RFC 2516)
275pseudo-device       pty                           # pseudo-terminals
276pseudo-device       bpfilter            # packet filter ports
277pseudo-device       carp                          # Common Address Redundancy Protocol
278pseudo-device       npf                           # NPF packet filter
279#pseudo-device      gre                           # generic L3 over IP tunnel
280pseudo-device       gif                           # IPv[46] over IPv[46] tunnel (RFC1933)
281#pseudo-device      faith                         # IPv[46] tcp relay translation i/f
282pseudo-device       stf                           # 6to4 IPv6 over IPv4 encapsulation
283pseudo-device       vlan                          # IEEE 802.1q encapsulation
284pseudo-device       bridge                        # simple inter-network bridging
285#pseudo-device      vether                        # Virtual Ethernet for bridge
286pseudo-device       agr                           # IEEE 802.3ad link aggregation
287
288pseudo-device       vnd                           # virtual disk ick
289#options  VND_COMPRESSION               # compressed vnd(4)
290pseudo-device       ccd                           # concatenated disks
291#pseudo-device      cgd                           # cryptographic disk devices
292pseudo-device       raid                          # RAIDframe disk driver
293options   RAID_AUTOCONFIG               # auto-configuration of RAID components
294# Options to enable various other RAIDframe RAID types.
295#options  RF_INCLUDE_EVENODD=1
296#options  RF_INCLUDE_RAID5_RS=1
297#options  RF_INCLUDE_PARITYLOGGING=1
298#options  RF_INCLUDE_CHAINDECLUSTER=1
299#options  RF_INCLUDE_INTERDECLUSTER=1
300#options  RF_INCLUDE_PARITY_DECLUSTERING=1
301#options  RF_INCLUDE_PARITY_DECLUSTERING_DS=1
302pseudo-device       fss                           # file system snapshot device
303pseudo-device       putter                        # for puffs and pud
304
305pseudo-device       clockctl            # user control of clock subsystem
306pseudo-device       drvctl                        # user control of drive subsystem
307pseudo-device       ksyms                         # /dev/ksyms
308pseudo-device       swwdog                        # software watchdog timer -- swwdog(4)
309pseudo-device       wsfont                        # wsfont control device
310pseudo-device       wsmux                         # wsmux control device
311
312include "dev/veriexec.config"
313
314options   PAX_ASLR_DEBUG=1    # PaX ASLR debug
315options   PAX_SEGVGUARD=0               # PaX Segmentation fault guard
316options   PAX_MPROTECT=1                # PaX mprotect(2) restrictions
317options   PAX_MPROTECT_DEBUG=1          # PaX mprotect debug
318options   PAX_ASLR=1                    # PaX Address Space Layout Randomization
319
320# Pull in optional local configuration - always at end
321cinclude  "arch/pmax/conf/GENERIC.local"
322