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