1# $NetBSD: RAMDISK,v 1.61 2021/08/30 18:59:57 christos Exp $
2
3# RAMDISK: Root/swap on ramdisk
4# This kernel is used to:
5#         format the disk (not yet implemented)
6#         partition the disk (disklabel)
7#         install the miniroot in the swap partition
8
9# GENERIC Sun2 (2/120, 2/170, 2/50, ...)
10# Supports root on: ie0, sd*, ...
11
12include "arch/sun2/conf/std.sun2"
13
14#options  INCLUDE_CONFIG_FILE # embed config file in kernel binary
15
16makeoptions         COPTS="-Os -ffunction-sections -fdata-sections"   # optimize for size
17makeoptions         EXTRA_LINKFLAGS="--gc-sections"
18makeoptions         KERNLDSCRIPT="${SUN2}/conf/kern.ldscript"
19
20# Machines to be supported by this kernel
21#options  FPU_EMULATE
22
23# Needs to be set per system.  i.e change these as you see fit
24maxusers  2
25
26# Standard system options
27#options  KTRACE              # system call tracing
28#options  SYSVMSG             # System V message queues
29#options  SYSVSEM             # System V semaphores
30#options  SYSVSHM             # System V shared memory
31#options  INSECURE  # disable kernel security level
32#options  USERCONF  # userconf(4) support
33options   PIPE_SOCKETPAIR     # smaller, but slower pipe(2)
34#options  SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
35
36# Which kernel debugger?  Uncomment either this:
37#options  DDB
38# ... or these for KGDB (gdb remote target)
39#makeoptions        DEBUG="-g"          # debugging symbols for gdb
40#options  KGDB
41#options  KGDB_DEV=0x0C00     # ttya=0C00 ttyb=0C01
42
43# Other debugging options
44#options  DDB_HISTORY_SIZE=100          # enable history editing in DDB
45#options  DEBUG               # kernel debugging code
46#options  DIAGNOSTIC          # extra kernel sanity checking
47#options  PMAP_DEBUG
48#options  SCSIDEBUG
49#options  SCSIVERBOSE                   # Verbose SCSI errors
50
51# Compatibility options
52#include  "conf/compat_netbsd10.config"
53#options  COMPAT_SUNOS        # can run SunOS 4.1.1 executables
54#options  COMPAT_AOUT_M68K # support for NetBSD a.out executables
55#options  EXEC_AOUT # support for a.out executables
56#options            COMPAT_BSDPTY       # /dev/[pt]ty?? ptys.
57
58# Filesystem options
59file-system         FFS                 # Berkeley Fast Filesystem
60#file-system        NFS                 # Sun NFS client support
61#file-system        CD9660              # ISO 9660 + Rock Ridge file system
62#file-system        FDESC               # /dev/fd/*
63#file-system        KERNFS              # /kern
64#file-system        NULLFS              # loopback file system
65#file-system        OVERLAY             # overlay file system
66#file-system        PROCFS              # /proc
67#file-system        UNION               # union file system
68#file-system        MFS                 # memory-based filesystem
69#file-system        PTYFS               # /dev/pts/N support
70
71#options  NFSSERVER # nfs server support
72#options  QUOTA               # legacy UFS quotas
73#options  QUOTA2              # new, in-filesystem UFS quotas
74#options  FFS_EI              # FFS Endian Independent support
75#options  NFS_V2_ONLY         # Exclude NFS3 code to save space
76options   FFS_NO_SNAPSHOT     # No FFS snapshot support
77
78# Networking options
79options   INET                # IP protocol stack support
80#options  INET6               # IPV6
81#options  IPSEC               # IP security
82#options  IPSEC_DEBUG         # debug for IP security
83#options  GATEWAY             # IP packet forwarding
84#options  TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
85
86# Work-around for root on slow servers (insurance...)
87#options  NFS_BOOT_RWSIZE=1024
88#options  NFS_BOOT_BOOTPARAM
89
90# Enable the hooks used for initializing the root memory-disk.
91options   MEMORY_DISK_HOOKS
92options   MEMORY_DISK_IS_ROOT # force root on memory disk
93options   MEMORY_DISK_SERVER=0          # no userspace memory disk support
94options   MEMORY_DISK_ROOT_SIZE=1200    # size of memory disk, in blocks
95options   MEMORY_DISK_RBFLAGS=RB_SINGLE # boot in single-user mode
96
97config              netbsd root on ? type ffs
98
99#### Main bus.
100mainbus0 at root
101
102#### Bus types.
103
104obio0     at mainbus?                   # all Sun-2
105obmem0    at mainbus?                   # all Sun-2
106mbmem0    at mainbus?                   # 2/120, 2/170
107mbio0     at mainbus?                   # 2/120, 2/170
108sun68kvme0          at mainbus?         # 2/50, 2/130, 2/160
109vme0      at sun68kvme0                 # mi VME attachment
110
111#### Standard system devices.
112
113## The AM9513 clock chip.
114clock0    at obio0 addr 0x002800        # 2/120, 2/170
115clock0    at obio0 addr 0x7f2800        # 2/50, 2/130, 2/160
116
117## The MM58167 time-of-day chip.
118tod0      at obio0 addr 0x003800        # 2/120, 2/170
119tod0      at vme0 addr 0x200800         # 2/50, 2/130, 2/160
120
121#### Serial port configuration.
122
123## Zilog 8530 serial chips.  Each has two channels.
124## zs0 is ttya and ttyb.  zs1 is the keyboard and mouse.
125## zs0 is REQUIRED to use KGDB.
126zs0       at obio0 addr 0x002000        # 2/120, 2/170
127zs0       at obio0 addr 0x7f2000        # 2/50
128zs1       at obmem0 addr 0x780000       # 2/120, 2/170
129zs1       at obio0 addr 0x7f1800        # 2/50
130#zs2      at mbmem0 addr 0x080800       # 2/120, 2/170 (first sc SCSI)
131#zs3      at mbmem0 addr 0x081000       # 2/120, 2/170 (first sc SCSI)
132#zs4      at mbmem0 addr 0x084800       # 2/120, 2/170 (second sc SCSI)
133#zs5      at mbmem0 addr 0x085000       # 2/120, 2/170 (second sc SCSI)
134zstty*    at zs? channel ?    # ttya
135kbd0      at zstty?           # keyboard
136#ms0      at zstty?           # mouse
137
138#### Disk controllers and disks.
139
140## PAL+logic-based "Sun SCSI 2" Multibus/VME SCSI controller.
141## This driver has several flags which may be enabled using
142## the "flags" directive.  Valid flags are:
143##
144## 0x0ff            Set (1<<target) to disable parity checking
145## 0x100            Set this bit to disable DMA interrupts (poll)
146## 0x200            Set this bit to disable DMA entirely (use PIO)
147##
148## For example: "flags 0x10f" would disable DMA interrupts,
149## and disable parity for targets 0-3
150
151sc0       at mbmem0 addr 0x80000 ipl 2 flags 0xff
152sc0       at vme0 addr 0x200000 irq 2 vect 0x40 flags 0xff
153sc1       at mbmem0 addr 0x84000 ipl 2 flags 0xff
154
155## NCR5380-based "Sun SCSI 3" VME SCSI controller.
156## This driver has several flags which may be enabled by OR'ing
157## the values and using the "flags" directive.
158## Valid flags are:
159##
160##        0x01                Use DMA (may be polled)
161##        0x02                Use DMA completion interrupts
162##        0x04                Allow disconnect/reselect
163##
164## E.g. the following would enable DMA, interrupts, and reselect:
165## si0    at vme0 addr 0x200000 ipl 3 vect 0x40 flags 0x07
166##
167## By default, DMA is enabled in the driver.
168
169si0       at vme0 addr 0x200000 irq 2 vect 0x40
170
171## These entries find devices on all SCSI busses and assign
172## unit numbers dynamically.
173scsibus* at sc?
174scsibus* at si?
175sd*       at scsibus? target ? lun ?              # SCSI disks
176st*       at scsibus? target ? lun ?              # SCSI tapes
177#cd*      at scsibus? target ? lun ?              # SCSI CD-ROMs
178#ch*      at scsibus? target ? lun ?              # SCSI changer devices
179#ss*      at scsibus? target ? lun ?              # SCSI scanners
180#ses*     at scsibus? target ? lun ?              # SCSI SES/SAF-TE
181#uk*      at scsibus? target ? lun ?              # unknown SCSI
182
183# support old SCSI devices that don't understand the INQUIRY command
184options   SCSI_OLD_NOINQUIRY
185
186## Xylogics 450 or 451 Multibus/VME SMD disk controllers and disks.
187#xyc0     at mbio0 addr 0xee40 ipl 2
188xyc0      at vme0 addr 0xee40 irq 2 vect 0x48
189#xyc1     at mbio0 addr 0xee48 ipl 2
190xyc1      at vme0 addr 0xee48 irq 2 vect 0x49
191xy*       at xyc? drive ?
192
193## Memory-disk device.
194pseudo-device       md
195
196#### Network interfaces.
197
198## Intel Ethernet (onboard, or Multibus/VME)
199ie0       at obio0 addr 0x7f0800 ipl 3            # 2/50
200ie0       at mbmem0 addr 0x88000 ipl 3
201ie1       at mbmem0 addr 0x8c000 ipl 3
202## VME: the first [addr,len] pair specifies the device registers;
203##        the second pair specifies the on-board memory buffer
204ie1       at vme0 addr 0xe88000,0xe00000 len -1,0x40000 irq 3 vect 0x75
205
206## 3Com Ethernet (Multibus only)
207ec0       at mbmem0 addr 0xe0000 ipl 3
208ec1       at mbmem0 addr 0xe2000 ipl 3
209# limit NFS R/W size for poor ec(4) interfaces
210options   NFS_RSIZE=1024,NFS_WSIZE=1024
211
212## Frame buffers.
213
214## Sun "bwtwo" black and white framebuffer.
215#bwtwo0   at obmem0 addr 0x700000       # 2/120, 2/170
216#bwtwo0   at obio0 addr 0x0   # 2/50
217
218## PROM console driver -- if all else fails
219pcons0    at mainbus0                             # PROM console
220
221#### Miscellaneous.
222pseudo-device       loop                          # network loopback
223#pseudo-device      bpfilter            # packet filter
224#pseudo-device      sl                            # CSLIP
225#pseudo-device      ppp                           # PPP
226#pseudo-device      tun                           # network tunneling over tty
227#pseudo-device      gre                           # generic L3 over IP tunnel
228#pseudo-device      npf                           # NPF packet filter
229#pseudo-device      gif                           # IPv[46] over IPv[46] tunnel (RFC1933)
230#pseudo-device      faith                         # IPv[46] tcp relay translation i/f
231#pseudo-device      stf                           # 6to4 IPv6 over IPv4 encapsulation
232
233pseudo-device       pty                           # pseudo-terminals
234#pseudo-device      vnd                           # paging to files
235#pseudo-device      ccd                           # concatenated disks
236#pseudo-device      raid                          # RAIDframe disk driver
237#options  RAID_AUTOCONFIG               # auto-configuration of RAID components
238#pseudo-device      fss                           # file system snapshot device
239