1# $NetBSD: MIPSSIM,v 1.13 2025/07/27 10:41:11 martin Exp $
2#
3# Kernel config for the QEMU MIPS "mipssim" simulator
4#
5# The QEMU virtio support is experimental and subject to change
6# and will likely be removed when qemu gains a MIPS "virt" target.
7#
8
9include 	"arch/evbmips/conf/std.mipssim"
10
11#ident 		"GENERIC-$Revision: 1.13 $"
12
13maxusers	32
14
15options 	MIPS32
16options 	MIPS32R2
17options 	NOFPU		# No FPU
18options 	FPEMUL		# emulate FPU insn
19options 	HZ=50		# half usual host speed
20
21#options 	LOCKDEBUG
22options 	SOSEND_COUNTERS
23options 	INET_CSUM_COUNTERS
24options 	TCP_CSUM_COUNTERS
25options 	UDP_CSUM_COUNTERS
26options 	TCP_OUTPUT_COUNTERS
27
28options 	MSGBUFSIZE=32768 # need a bit more than 4K for virtio qemu
29
30options 	NTP		# network time protocol
31
32# Debugging options
33options 	DIAGNOSTIC	# extra kernel sanity checking
34options 	DEBUG		# extra kernel debugging support
35options 	DDB		# kernel dynamic debugger
36options 	DDB_HISTORY_SIZE=100 # enable history editing in DDB
37makeoptions 	DEBUG="-g"	# compile full symbol table
38makeoptions	COPY_SYMTAB=1	# size for embedded symbol table
39
40pseudo-device	md				# memory disk device
41options 	MEMORY_DISK_HOOKS
42options 	MEMORY_DISK_IS_ROOT		# Force root on ram-disk
43options 	MEMORY_DISK_ROOT_SIZE=32768	# size of memory disk, in blocks
44
45# Compatibility options
46include         "conf/compat_netbsd50.config"
47#options 	EXEC_ECOFF	# exec ECOFF binaries
48#options 	COMPAT_ULTRIX	# binary compatibility with Ultrix
49
50options 	SYSVMSG		# System V-like message queues
51options 	SYSVSEM		# System V-like semaphores
52options 	SYSVSHM		# System V-like memory sharing
53
54# File systems
55file-system	FFS		# Berkeley Fast Filesystem
56#file-system	MFS		# memory-based filesystem
57#file-system 	EXT2FS		# second extended file system (linux)
58file-system	NFS		# Sun NFS-compatible filesystem client
59file-system	KERNFS		# kernel data-structure filesystem
60file-system	NULLFS		# NULL layered filesystem
61file-system 	OVERLAY		# overlay file system
62file-system	FDESC		# user file descriptor filesystem
63#file-system	UMAPFS		# uid/gid remapping filesystem
64#file-system	LFS		# Log-based filesystem (still experimental)
65file-system	PROCFS		# /proc
66file-system	CD9660		# ISO 9660 + Rock Ridge file system
67file-system	UNION		# union file system
68#file-system	MSDOSFS		# MS-DOS FAT filesystem(s).
69#file-system 	CODA		# Coda File System; also needs vcoda (below)
70file-system	PTYFS		# /dev/pts/N support
71file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
72file-system	MFS		# memory-based filesystem
73file-system	TMPFS		# Efficient memory file-system
74
75# File system options
76options 	FFS_EI		# FFS Endian Independent support
77#options 	QUOTA		# legacy UFS quotas
78#options 	QUOTA2		# new, in-filesystem UFS quotas
79#options 	UFS_DIRHASH	# UFS Large Directory Hashing
80#options 	UFS_EXTATTR	# Extended attribute support for UFS1
81options 	WAPBL		# File system journaling support
82options 	DISKLABEL_EI	# disklabel Endian Independent support
83#options 	NFSSERVER	# Network File System server
84
85# Alternate buffer queue strategies for better responsiveness under high
86# disk I/O load.
87#options 	BUFQ_READPRIO
88#options 	BUFQ_PRIOCSCAN
89
90# Networking options
91#options 	GATEWAY		# IP packet forwarding
92options 	INET		# Internet protocols
93options 	INET6		# IPV6
94#options 	IPSEC		# IP security
95#options 	IPSEC_DEBUG	# debug for IP security
96#options 	MROUTING	# packet forwarding of multicast packets
97#options 	NETATALK	# AppleTalk (over Ethernet) protocol
98#options 	PIM		# Protocol Independent Multicast
99#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
100#options 	PPP_DEFLATE	# Deflate compression support for PPP
101#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
102
103# JIT compiler for bpfilter
104#options	SLJIT
105#options	BPFJIT
106
107# These options enable verbose messages for several subsystems.
108# Warning, these may compile large string tables into the kernel!
109#options 	MIIVERBOSE	# verbose PHY autoconfig messages
110
111options 	NFS_BOOT_DHCP
112
113config		netbsd		root on ? type ?
114
115mainbus0 	at root
116cpu* 		at mainbus?
117com*		at mainbus?
118# mipsnet*	at mainbus?
119# options 	MIPSSIM_ETH_MACADDR="ba:bb:1e:01:23:45"
120
121
122# Virtio devices
123virtio*		at mainbus?		# Virtio PCI device
124
125include "dev/virtio/virtio.config"
126no vio9p* 	at virtio?		# XXX ?
127no viomb* 	at virtio?		# XXX ?
128wsdisplay*	at wsemuldisplaydev?
129
130# SCSI bus support
131scsibus* at scsi?
132
133# SCSI devices
134sd*	at scsibus? target ? lun ?	# SCSI disk drives
135#st*	at scsibus? target ? lun ?	# SCSI tape drives
136cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
137#ch*	at scsibus? target ? lun ?	# SCSI autochangers
138#ses*	at scsibus? target ? lun ?	# SCSI Enclosure Services devices
139#ss*	at scsibus? target ? lun ?	# SCSI scanners
140#uk*	at scsibus? target ? lun ?	# SCSI unknown
141
142# Pseudo-Devices
143
144pseudo-device	crypto				# /dev/crypto device
145pseudo-device	swcrypto			# software crypto implementation
146
147pseudo-device	vnd				# disk-like interface to files
148#options 	VND_COMPRESSION			# compressed vnd(4)
149
150pseudo-device	putter				# for puffs and pud
151
152# Network pseudo-devices
153pseudo-device	bpfilter			# Berkeley packet filter
154#pseudo-device 	carp				# Common Address Redundancy Protocol
155pseudo-device	loop				# network loopback
156#pseudo-device	ppp				# Point-to-Point Protocol
157#pseudo-device	sl				# Serial Line IP
158#pseudo-device	tun				# network tunneling over tty
159#pseudo-device	gre				# generic L3 over IP tunnel
160#pseudo-device	ipip				# RFC 2003 IP Encapsulation
161#pseudo-device	gif				# RFC1933 tunnel
162#pseudo-device	faith				# IPv[46] tcp relay translation
163# Miscellaneous pseudo-devices
164pseudo-device	pty				# pseudo-terminals
165#pseudo-device	sequencer			# MIDI sequencer
166
167# A pseudo device needed for Coda		# also needs CODA (above)
168#pseudo-device	vcoda				# coda minicache <-> venus comm.
169pseudo-device	clockctl			# user control of clock subsystem
170pseudo-device	ksyms				# /dev/ksyms
171
172include "dev/veriexec.config"
173