Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#	$NetBSD: NONPLUS64,v 1.59 2022/08/07 02:52:29 simonb Exp $

include 	"arch/sparc64/conf/std.sparc64"

#ident		"NONPLUS64-$Revision: 1.59 $"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

maxusers	64

## System kernel configuration.  See options(4) for more detail.

#options 	AUDIO_DEBUG=1

# Options for variants of the Sun SPARC architecure.
# We currently support three architecture types; at least one is required.
options 	SUN4U		# sun4u - UltraSPARC
options 	__ELF__		# we use elf
makeoptions	SPARC_BINARIES=1

#### System options that are the same for all ports

## Root device configuration: change the ?'s if you are going to use a
## nonstandard root partition (other than where the kernel is booted from)
## and/or nonstandard root type (not ffs or nfs).  Normally this can be
## automagically determined at boot time.

config		netbsd	root on ? type ?

## UVM options.
#options 	UVM_PAGE_TRKOWN
#options 	UVMHIST
#options 	UVMHIST_PRINT	# Loud!

## System call tracing (see ktrace(1)).
options 	KTRACE

## System V compatible IPC subsystem.  (msgctl(2), semctl(2), and shmctl(2))
options 	SYSVMSG		# System V message queues
options 	SYSVSEM		# System V semaphores
options 	SYSVSHM		# System V shared memory

options 	USERCONF	# userconf(4) support
#options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

## NFS boot options; default on sparc is the bootparam protocol
options 	NFS_BOOT_BOOTPARAM
#options 	NFS_BOOT_BOOTP
#options 	NFS_BOOT_DHCP

#### Debugging options

## The DDB in-kernel debugger runs at panic (unless DDB_ONPANIC=0), or at
## serial console break or keyboard reset, where the PROM would normally
## intercept.  DDB_HISTORY_SIZE adds up/down arrow command history.
options 	DDB			# kernel dynamic debugger
pseudo-device	ksyms
options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
options 	DDB_ONPANIC=1		# see also sysctl(7): `ddb.onpanic'

## Compile the kernel with debugging symbols (`netbsd.gdb' is the debug file),
## such that gdb(1) can be used on a kernel coredump.

makeoptions	DEBUG="-g"


## Adds code to the kernel that does internal consistency checks, and will
## cause the kernel to panic if corruption of internal data structures
## is detected.
#options 	DIAGNOSTIC	# extra kernel sanity checking

## Enable (possibly expensive) debugging code that may also display messages
## on the system console
#options 	DEBUG
#options 	LOCKDEBUG

## Enable printing of spl() transisions -- really slow
##
#options 	SPLDEBUG

## Make SCSI error messages more verbose when explaining their meanings.
options 	SCSIVERBOSE
#options 	SCSIDEBUG

## `INSECURE' turns off the kernel security level (securelevel = 0 always).
## This allows writing to /dev/mem, loading kernel modules while multi-user,
## and other insecurities good only for development work.  Do not use this
## option on a production machine.
#options 	INSECURE

## `FDSCRIPTS' allows non-readable but executable scripts by providing a
## pre-opened opaque file to the script interpreter.  `SETUIDSCRIPTS',
## which implies FDSCRIPTS, allows scripts to be set-user-id using the same
## opaque file mechanism.  Perl calls this "secure setuid scripts."

#options 	FDSCRIPTS
#options 	SETUIDSCRIPTS

## Options for compatibility with previous releases foreign system binaries.
## In the cases of COMPAT_SUNOS, you may need to set up additional user-level
## utilities or system configuration files. See compat_sunos(8).

include 	"conf/compat_netbsd09.config"
options 	COMPAT_SUNOS	# SunOS 4.x binary compatibility
options 	COMPAT_NETBSD32	# NetBSD/sparc binary compatibility
options 	EXEC_ELF32	# Exec module for NetBSD/sparc 1.5 binaries.
#options 	SYSCALL_DEBUG
options 	EXEC_AOUT	# Exec module for NetBSD/sparc pre-1.5 binaries.

## File systems.  You probably need at least one of FFS or NFS.
file-system	FFS		# Berkeley Fast Filesystem
file-system	NFS		# Sun NFS-compatible filesystem client
file-system	KERNFS		# kernel data-structure filesystem
file-system	NULLFS		# NULL layered filesystem
file-system	OVERLAY		# overlay file system
file-system	MFS		# memory-based filesystem
file-system	FDESC		# user file descriptor filesystem
file-system	UMAPFS		# uid/gid remapping filesystem
file-system	LFS		# Log-based filesystem (still experimental)
file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
file-system	PROCFS		# /proc
file-system	CD9660		# ISO 9660 + Rock Ridge file system
file-system	UNION		# union file system
file-system	MSDOSFS		# MS-DOS FAT filesystem(s).
file-system	PTYFS		# /dev/pts/N support

## File system options.
#options 	FFS_EI		# FFS Endian Independent support
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
options 	QUOTA		# legacy UFS quotas
options 	QUOTA2		# new, in-filesystem UFS quotas
options 	UFS_DIRHASH	# UFS Large Directory Hashing
options 	UFS_EXTATTR	# Extended attribute support for UFS1
options 	LFS_DIRHASH	# LFS version of UFS_DIRHASH - experimental
options 	NFSSERVER	# Network File System server

## Network protocol support.  In most environments, INET is required.
options 	INET		# IP (Internet Protocol) v4
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#options 	TCP_SIGNATURE	# TCP MD5 Signatures, for BGP routing sessions
options 	GATEWAY		# packet forwarding ("router switch")
#options 	MROUTING	# packet forwarding of multicast packets
#options 	PIM		# Protocol Independent Multicast
options 	NETATALK	# AppleTalk (over Ethernet) protocol
options 	NTP		# Network Time Protocol in-kernel support
#options 	PPS_SYNC	# Add serial line synchronization for NTP
options 	PPP_BSDCOMP	# Add BSD compression to ppp device
options 	PPP_DEFLATE	# Add deflate (libz) compression to ppp device
options 	PPP_FILTER	# Add active filters for ppp (via bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG


#### Main bus and CPU .. all systems.
mainbus0 at root
cpu0	at mainbus0				# UPA bus for the moment

#### Bus types found on SPARC systems.

sbus0	at mainbus0				# sun4c and sun4u
#pci*	at mainbus0				# pci buses
#ebus*	at pci?					# ebus devices

#### Standard system devices -- all required for a given architecture

#pcons0	at mainbus0				# PROM console

## Auxiliary system registers -- We use the OBP for power management
#auxio*	at ebus?				# auxio registers
#auxio*	at sbus? slot ? offset ?		# auxio registers

## Auxiliary system registers on sun4c and sun4m
#auxreg0 at sbus0
#auxreg0 at pci0

# We also need:
bpp0 at sbus0 slot ? offset ?			# parallel port
# ecpp0 at pci0					# parallel port ?

## Mostek clock
clock0	at sbus0 slot ? offset ?
#clock0	at pci0

## Timer chip
timer0	at mainbus0

#### Serial port configuration

## Zilog 8530 serial chips.  Each has two-channels.
## zs0 is ttya and ttyb.  zs1 is the keyboard and mouse.
#zs0	at sbus0 slot ? offset ?
#zstty0	at zs0 channel 0	# ttya
#zstty1	at zs0 channel 1	# ttyb

#old attach scheme
#zs1	at sbus0 slot ? offset ?
#kbd0	at zs1 channel 0	# keyboard
#ms0	at zs1 channel 1	# mouse

#new attach scheme
#zstty2	at zs1 channel 0	# ttya
#zstty3	at zs1 channel 1	# ttyb
#kbd0	at zstty2		# keyboard
#ms0	at zstty3		# mouse

#wildcard attach scheme
zs*	at sbus? slot ? offset ?
zstty*	at zs? channel ?
kbd0	at zstty?
ms0	at zstty?

## PCI machines apparently have serial ports
## called `se' and `su'

## Part of a PC87332VLJ?
#com*	at ebus?			# `com' driver
#kbd0	at com?			# keyboard
#ms0	at com?			# mouse

## This is the SAB82532 DUART
#se0	at ebus?		#


#### Disk controllers and disks

#

## The following flags may be set for the NCR53c94 based esp driver:
##	bits 0-7:  disable disconnect/reselect for the corresponding target
##	bits 8-15: disable synchronous negotiation for target [bit-8]

## sun4/300, sun4c, sun4m on-board SCSI, and FSBE/S SBus SCSI cards.
## Both `dma' and `esp' are needed in all cases.
## Two kinds of additional SBus SCSI interfaces are available.  One uses
## "esp at sbus" like the sun4c on-board; the other uses "esp at dma".

## sun4/300 SCSI - an NCR53c94 or equivalent behind
## an LSI Logic DMA controller

dma*	at sbus? slot ? offset ?			# SBus
esp*	at dma? flags 0x0000				# SBus
scsibus* at esp?

## FAS support missing
#fas*	at sbus? slot ? offset ? flags 0x0000		# fast/wide NCR derivative
#scsi*	at pci?						# 53C875 "glm" compatible


## Qlogic ISP SBus SCSI Card
#isp*	at sbus? slot ? offset ?
#scsibus* at isp?

## These entries find devices on all SCSI busses and assign
## unit numbers dynamically.
sd0	at scsibus? target 0 lun 0		# SCSI disks
sd1	at scsibus? target 1 lun 0		# SCSI disks
sd2	at scsibus? target 2 lun 0		# SCSI disks
sd3	at scsibus? target 3 lun 0 flags 0x10	# SCSI disks
sd4	at scsibus? target 4 lun 0 flags 0x10	# SCSI disks
sd5	at scsibus? target 5 lun 0		# SCSI disks
sd6	at scsibus? target 6 lun 0		# SCSI disks
sd*	at scsibus? target ? lun ?		# SCSI disks
st*	at scsibus? target ? lun ?		# SCSI tapes
cd*	at scsibus? target ? lun ?		# SCSI CD-ROMs
ch*	at scsibus? target ? lun ?		# SCSI changer devices
ss*	at scsibus? target ? lun ?		# SCSI scanners
uk*	at scsibus? target ? lun ?		# unknown SCSI


## Floppy controller and drive found on SPARCstations.

#fdc0	at sbus0
#fdc0	at pci?					# Called fdthree?
#fd*	at fdc0					# the drive itself


## A disk-like interface to files.  Can be used to create floppy, CD,
## miniroot images, etc.

pseudo-device	vnd

## Concatenated and striped disks; with this, you can create a software-based
## disk array similar to a "RAID 0" setup.  See ccd(4).

pseudo-device	ccd

## Memory disk device, used on boot floppies with compressed
## kernel-plus-root-disk images.

#pseudo-device	md


#### Network interfaces

## LANCE Ethernet - an AMD 7990 LANCE behind specialized DMA glue
## Three flavors of additional SBus ethernets are available.  One attaches
## directly like the sun4c on-board, one uses the ledma device like the
## sun4m on-board, and one uses the lebuffer device.

#options 	LANCE_REVC_BUG
#options 	LEDEBUG

ledma0		at sbus0 slot ? offset ?		# sun4m on-board
le0		at ledma0				# sun4m on-board
#le*		at sbus? slot ? offset ?		# SBus
#ledma*		at sbus? slot ? offset ?		# SBus
#le*		at ledma?				# SBus
#lebuffer0	at sbus? slot ? offset ?		# SBus
#le0		at lebuffer?				# SBus
lebuffer*	at sbus? slot ? offset ?		# SBus
le*		at lebuffer?				# SBus

#hme0		at sbus0 slot ? offset ?
#network*	at pci?					# "hme" compatible

## Loopback network interface; required
pseudo-device	loop

## SLIP and CSLIP interfaces, for IP over a serial line.
#pseudo-device	sl

## PPP, the successor to SLIP.  See pppd(8).
pseudo-device	ppp

## Network "tunnel" device, allowing protocol stacks to run in the userland.
## This is used by the third-party user-mode "ppp" program, and others.
pseudo-device	tun

## Berkeley Packet Filter, required to run RARPD.  A generic C-language
## interface that allows selective examining of incoming packets.
pseudo-device	bpfilter

pseudo-device	npf			# NPF packet filter


#### Audio and video devices

## /dev/audio support (`audiocs' plus `audio')
##
audiocs0	at sbus0 slot ? offset ?		# SUNW,CS4231
audio*		at audiocs0

spkr*		at audio?		# PC speaker (synthesized)


## Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
## systems.  If your sun4 system has a cgfour installed in the P4 slot,
## the P4 entries for "bwtwo" will attach to the overlay plane of the
## "cgfour".

#bwtwo0		at sbus0 slot ? offset ?		# sun4c and sun4m
#bwtwo*		at sbus? slot ? offset ?		#

## Sun "cgthree" Sbus color framebuffer
#cgthree0	at sbus? slot ? offset ?
#cgthree*	at sbus? slot ? offset ?

## Sun "cgsix" accelerated color framebuffer.
cgsix0		at sbus? slot ? offset ?
cgsix*		at sbus? slot ? offset ?

## Sun "tcx" accelerated color framebuffer.
#tcx0		at sbus? slot ? offset ?
#tcx*		at sbus? slot ? offset ?

# Sun "cgfourteen" accelerated 24-bit framebuffer.
#cgfourteen0	at obio0			# sun4m

#### Other device configuration

## Pseudo ttys, required for network logins and programs like screen.

pseudo-device	pty			# pseudo-ttys (for network, etc.)

## Random device, used to implement /dev/random (a source of random noise),
## and generate randomness for some kernel formulae.
## THIS DEVICE IS EXPERIMENTAL; use at your own risk.


pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	drvctl			# user control of drive subsystem
#pseudo-device	fss			# file system snapshot device
pseudo-device	putter			# for puffs and pud