LOONGSON revision 1.36
11.24Sad# $NetBSD: LOONGSON,v 1.36 2018/01/18 23:17:09 maya Exp $
21.2Sad#
31.2Sad# LOONGSON machine description file
41.2Sad# 
51.2Sad# This machine description file is used to generate the default NetBSD
61.2Sad# kernel.  The generic kernel does not include all options, subsystems
71.2Sad# and device drivers, but should be useful for most applications.
81.2Sad#
91.2Sad# The machine description file can be customised for your specific
101.2Sad# machine to reduce the kernel size and improve its performance.
111.2Sad#
121.2Sad# For further information on compiling NetBSD kernels, see the config(8)
131.2Sad# man page.
141.2Sad#
151.2Sad# For further information on hardware support for this architecture, see
161.2Sad# the intro(4) man page.  For further information about kernel options
171.2Sad# for this architecture, see the options(4) man page.  For an explanation
181.2Sad# of each device driver in this file see the section 4 man page for the
191.2Sad# device.
201.2Sad
211.2Sadinclude 	"arch/evbmips/conf/std.loongson"
221.2Sad
231.2Sadoptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.2Sad
251.2Sad#ident 		"LOONGSON-$Revision: 1.36 $"
261.2Sad
271.2Sadmaxusers	16
281.2Sad
291.2Sad# Standard system options
301.2Sadoptions 	DDB			# in-kernel debugger
311.2Sad#options 	DDB_ONPANIC=0		# don't enter debugger on panic
321.2Sadoptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
331.2Sad#options 	KGDB			# remote debugger
341.2Sadoptions 	DIAGNOSTIC		# extra kernel debugging checks
351.2Sad#options 	DEBUG			# extra kernel debugging support
361.2Sad#options 	PMAP_FAULTINFO
371.2Sad#options 	LOCKDEBUG
381.2Sadmakeoptions	DEBUG="-g"
391.2Sadmakeoptions	COPY_SYMTAB=1		# size for embedded symbol table
401.2Sadoptions 	KTRACE			# system call tracing support
411.2Sadoptions 	MSGBUFSIZE=8192		# dmesg buffer size
421.2Sad
431.2Sad## UVM options.
441.2Sad#options 	UVM_PAGE_TRKOWN
451.24Sad#options 	UVMHIST
461.2Sad#options 	UVMHIST_PRINT	# Loud!
471.2Sad
481.2Sad#options 	SCSIVERBOSE		# human readable SCSI error messages
491.2Sad#options 	PCMCIAVERBOSE		# verbose PCMCIA configuration messages
501.2Sad#options 	PCMCIADEBUG
511.2Sad#options 	PCMCIACISDEBUG
521.2Sad
531.2Sad#options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
541.2Sad#options 	RTC_OFFSET=-540		# JST-9
551.2Sad#options 	RTC_OFFSET=480		# PST8
561.2Sad					# In NO RTC_OFFSET , inherit RTC_OFFSET
571.2Sad					# from Windows CE.
581.2Sadoptions 	NTP			# network time protocol
591.2Sad
601.2Sad#options 	WINCE_DEFAULT_SETTING	# Debugging use
611.2Sad
621.16Sad# Note: SysV IPC parameters can be changed dynamically; see sysctl(8).
631.2Sadoptions 	SYSVMSG		# System V-like message queues
641.7Syamtoptions 	SYSVSEM		# System V-like semaphores
651.7Syamtoptions 	SYSVSHM		# System V-like memory sharing
661.7Syamt
671.2Sad#options 	SYSCALL_DEBUG		# for debug
681.2Sad#options 	HPCMIPS_L1CACHE_DISABLE	# disable L1 cache for debug
691.2Sadoptions 	USERCONF		# userconf(4) support
701.2Sad#options	PIPE_SOCKETPAIR		# smaller, but slower pipe(2)
711.2Sadoptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
721.2Sad
731.2Sadoptions 	INSECURE	# disable kernel security levels
741.2Sad
751.2Sad# Filesystem options
761.2Sadfile-system 	FFS		# fast filesystem with user and group quotas
771.2Sadfile-system 	MFS		# memory-based filesystem
781.2Sadfile-system 	NFS		# Sun NFS-compatible filesystem (client)
791.2Sadfile-system	EXT2FS		# second extended file system (linux)
801.2Sad#file-system	LFS		# Log-based filesystem (still experimental)
811.2Sadfile-system 	CD9660		# ISO 9660 + Rock Ridge file system
821.2Sadfile-system 	MSDOSFS		# MS-DOS file system
831.2Sad#file-system 	FDESC		# /dev/fd
841.2Sadfile-system 	KERNFS		# /kern (kernel informational filesystem)
851.2Sadfile-system 	NULLFS		# loopback file system
861.2Sad#file-system 	OVERLAY		# overlay file system
871.2Sadfile-system 	PROCFS		# /proc
881.2Sad#file-system 	UMAPFS		# NULLFS + uid and gid remapping
891.6Sthorpejfile-system 	UNION
901.2Sadfile-system	PTYFS		# /dev/pts/N support
911.2Sadfile-system	TMPFS		# Efficient memory file-system
921.2Sad#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
931.2Sad
941.2Sadoptions 	NFSSERVER	# Sun NFS-compatible filesystem (server)
951.2Sadoptions 	WAPBL		# File system journaling support
961.2Sad#options	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
971.2Sad#options 	QUOTA		# legacy UFS quotas
981.2Sad#options 	QUOTA2		# new, in-filesystem UFS quotas
991.2Sad#options 	DISKLABEL_EI	# disklabel Endian Independent support
1001.2Sad#options 	FFS_EI		# FFS Endian Independent support
1011.2Sad#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
1021.2Sad
1031.2Sad# Networking options
1041.2Sad#options 	GATEWAY		# IP packet forwarding
1051.2Sadoptions 	INET		# IP + ICMP + TCP + UDP
1061.2Sadoptions 	INET6		# IPV6
1071.2Sad#options 	IPSEC		# IP security
1081.2Sad#options 	IPSEC_DEBUG	# debug for IP security
1091.18Srmind#options 	MROUTING	# Multicast routing support
1101.2Sad#options 	PIM		# Protocol Independent Multicast
1111.5Scubeoptions 	IPFILTER_LOG	# ipmon(8) log support
1121.18Srmindoptions 	IPFILTER_LOOKUP	# ippool(8) support
1131.18Srmindoptions 	IPFILTER_COMPAT # Compat for IP-Filter
1141.18Srmind#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
1151.18Srmind
1161.18Srmind#options 	ALTQ		# Manipulate network interfaces' output queues
1171.2Sad#options 	ALTQ_BLUE	# Stochastic Fair Blue
1181.21Srmind#options 	ALTQ_CBQ	# Class-Based Queueing
1191.21Srmind#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1201.21Srmind#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1211.21Srmind#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1221.21Srmind#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1231.21Srmind#options 	ALTQ_LOCALQ	# Local queueing discipline
1241.21Srmind#options 	ALTQ_PRIQ	# Priority Queueing
1251.21Srmind#options 	ALTQ_RED	# Random Early Detection
1261.2Sad#options 	ALTQ_RIO	# RED with IN/OUT
1271.2Sad#options 	ALTQ_WFQ	# Weighted Fair Queueing
1281.2Sad
1291.2Sad# JIT compiler for bpfilter
1301.2Sad#options	SLJIT
1311.2Sad#options	BPFJIT
1321.2Sad
1331.2Sad# NetBSD backwards compatibility
1341.4Spavelinclude 	"conf/compat_netbsd16.config"
1351.2Sad
1361.2Sad#options 	NFS_BOOT_DHCP
1371.2Sadoptions 	NFS_BOOT_BOOTP
1381.19Syamt#options 	NFS_BOOT_BOOTPARAM
1391.2Sad
1401.2Sad# compile options
1411.19Syamt#makeoptions	DEFGP="-G 10"
1421.2Sad
1431.2Sadconfig		netbsd		root on ? type ?
1441.2Sad
1451.2Sad# WS console uses SUN or VT100 terminal emulation
1461.2Sadoptions 	WSEMUL_VT100
1471.2Sadoptions		WSDISPLAY_COMPAT_PCVT
1481.2Sadoptions 	WSDISPLAY_COMPAT_SYSCONS
1491.2Sadoptions		WSDISPLAY_COMPAT_USL
1501.2Sadoptions		WSDISPLAY_SCROLLSUPPORT
1511.2Sadoptions		WS_KERNEL_FG=WSCOL_GREEN
1521.2Sad#options 	WSDISPLAY_DEFAULTSCREENS=4
1531.2Sadoptions 	FONT_GALLANT12x22
1541.2Sadoptions 	FONT_BOLD8x16
1551.2Sad# compatibility to other console drivers
1561.2Sadoptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
1571.2Sad#
1581.2Sad# Hpckbd will set key board layout appropriately. You can use option
1591.2Sad# 'PCKBD_LAYOUT' to overrite the default layout.
1601.2Sad#
1611.2Sad#options 	PCKBD_LAYOUT="(KB_US | KB_SWAPCTRLCAPS | KB_MACHDEP)"
1621.2Sad
1631.2Sadmainbus0	at root
1641.2Sadcpu0		at mainbus0
1651.2Sadbonito0		at mainbus0
1661.2Sadpci0		at bonito0
1671.2Sadsisfb0		at pci0 dev ? function ?
1681.2Sadvoyager0	at pci0 dev ? function ?	# SM502 on GDIUM
1691.2Sadvoyagerfb0	at voyager0			# framebuffer portion
1701.2Sadpwmclock0	at voyager0			# clock and CPU freq scaling
1711.2Sadiic*		at voyager0
1721.2Sadstrtc*		at iic? addr 0x68		# GDIUM's real time clock
1731.2Sadoptions 	STRTC_NO_USERRAM
1741.2Sadlmtemp*		at iic? addr 0x48		# GDIUM's temperature sensor
1751.2Sadstvii*		at iic? addr 0x40		# GDIUM's onboard microcontroller
1761.2Sadlynxfb0		at pci0 dev ? function ?	# SM712 on Yeeloong Notebook
1771.2Sad#genfb0		at pci0 dev ? function ?
1781.2Sadwsdisplay*	at wsemuldisplaydev?
1791.2Sad
1801.2Sadehci*		at pci0 dev ? function ?
1811.2Sad#options 	EHCI_DEBUG
1821.2Sadohci*		at pci0 dev ? function ?
1831.2Sad#options 	OHCI_DEBUG, USB_DEBUG, UHUB_DEBUG
1841.2Sad
1851.2Sad# USB
1861.2Sadusb*	at ehci?
1871.2Sadusb*	at ohci?
1881.2Sad
1891.2Sadinclude "dev/usb/usbdevices.config"
1901.2Sadmidi*		at midibus?
1911.2Sad
1921.2Sadoptions		GDIUM_KEYBOARD_HACK	# support Fn key on Gdium
1931.2Sad
1941.2Sadgcscpcib*	at pci? dev ? function ?	# AMD CS5535/CS5536 PCI-ISA w/
1951.2Sadgpio*		at gcscpcib?			# timecounter, watchdog and GPIO
1961.2Sadisa0		at gcscpcib?
1971.2Sad
1981.2Sadpcib*		at pci?
1991.2Sadisa0		at pcib?
2001.2Sad
2011.2Sadpckbc0		at isa?				# PC keyboard controller
2021.2Sadpckbd*		at pckbc?			# PC keyboard
2031.2Sadpms*		at pckbc?			# PS/2 mouse for wsmouse
2041.2Sad#options 	PMS_DISABLE_POWERHOOK	# Disable PS/2 reset on resume
2051.2Sadoptions 	PMS_SYNAPTICS_TOUCHPAD	# Enable support for Synaptics Touchpads
2061.2Sadoptions 	PMS_ELANTECH_TOUCHPAD	# Enable support for Elantech Touchpads
2071.2Sadoptions 	PMS_ALPS_TOUCHPAD	# Enable support for Alps Touchpads
2081.2Sadwskbd*		at pckbd? console ?
2091.2Sadwsmouse*	at pms? mux 0
2101.2Sad
2111.4Spavelmcclock*	at isa? port 0x70		# mc146818-compatible
2121.2Sadcom0		at isa? port 0x2f8 irq 3	# Fuloong 2F only
2131.2Sadcom1		at isa? port 0x3f8 irq 4	# Fuloong 2F only (IR port)
2141.2Sad
2151.2Sadgcscaudio*	at pci?
2161.2Sadaudio*		at audiobus?
2171.2Sad
2181.2Sadspkr*		at audio?		# PC speaker (synthesized)
2191.2Sad
2201.2Sadpciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
2211.2Sadviaide* 	at pci? dev ? function ?	# VIA/AMD/Nvidia IDE controllers
2221.2Sadoptions  	WDC_NO_IDS #workaround CS5536+JMH330 interrupt disable bug
2231.2Sad
2241.23Srmind# ATA (IDE) bus support
2251.23Srmindatabus* at ata?
2261.23Srmind#options 	ATADEBUG
2271.23Srmind
2281.23Srmind# IDE drives
2291.23Srmind# Flags are used only with controllers that support DMA operations
2301.23Srmind# and mode settings (e.g. some pciide controllers)
2311.23Srmind# The lowest order four bits (rightmost digit) of the flags define the PIO
2321.23Srmind# mode to use, the next set of four bits the DMA mode and the third set the
2331.23Srmind# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2341.23Srmind# to use, and the last bit must be 1 for this setting to be used.
2351.23Srmind# For DMA and UDMA, 0xf (1111) means 'disable'.
2361.23Srmind# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2371.23Srmind# (0xc=1100, 0xa=1010, 0xf=1111)
2381.23Srmind# 0x0000 means "use whatever the drive claims to support".
2391.23Srmindwd*	at atabus? drive ? flags 0x0000
2401.23Srmind
2411.23Srmind# ATAPI bus support
2421.23Srmind#atapibus* at atapi?
2431.23Srmind
2441.23Srmind# ATAPI devices
2451.23Srmind# flags have the same meaning as for IDE drives.
2461.23Srmind#cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
2471.23Srmind#sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
2481.23Srmind#st*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
2491.23Srmind#uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown
2501.2Sad
2511.2Sadral*	at pci? dev ? function ?	# RL2561S 802.11b/g
2521.2Sadrtk*	at pci? dev ? function ?	# RTL8139 100/10 Ethernet
2531.2Sadre*	at pci? dev ? function ?	# Realtek 8139C+/8169/8169S/8110S
2541.2Sad# MII/PHY support
2551.2Sadrgephy*	at mii? phy ?			# Realtek 8169S/8110S internal PHYs
2561.2Sadrlphy*	at mii? phy ?			# Realtek 8139/8201L PHYs
2571.2Sadukphy*	at mii? phy ?			# generic unknown PHYs
2581.2Sad
2591.2Sad#
2601.2Sad# accept filters
2611.2Sadpseudo-device   accf_data		# "dataready" accept filter
2621.2Sadpseudo-device   accf_http		# "httpready" accept filter
2631.2Sad
2641.2Sadpseudo-device	loop			# network loopback
2651.2Sadpseudo-device	ppp			# serial-line IP ports
2661.2Sadpseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
2671.2Sadpseudo-device	pty			# pseudo-terminals
2681.2Sadpseudo-device	bpfilter		# packet filter ports
2691.2Sad#pseudo-device	carp			# Common Address Redundancy Protocol
2701.2Sadpseudo-device	ipfilter		# IP filter, NAT
2711.2Sad
2721.2Sadpseudo-device	vnd			# virtual disk ick
2731.2Sad#options 	VND_COMPRESSION		# compressed vnd(4)
2741.2Sad#pseudo-device	ccd			# concatenated disks
2751.2Sadpseudo-device	fss			# file system snapshot device
2761.2Sad#pseudo-device	cgd			# cryptographic disks
2771.2Sadpseudo-device	clockctl		# user control of clock subsystem
2781.2Sad
2791.2Sadpseudo-device	wsmux			# mouse & keyboard multiplexor
2801.2Sadpseudo-device	wsfont
2811.2Sad#pseudo-device	md			# memory disk device (ramdisk)
2821.2Sad
2831.2Sad#pseudo-device	raid			# RAIDframe disk driver
2841.2Sad#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
2851.2Sad# Options to enable various other RAIDframe RAID types.
2861.2Sad# options	RF_INCLUDE_EVENODD=1
2871.2Sad# options	RF_INCLUDE_RAID5_RS=1
2881.2Sad# options	RF_INCLUDE_PARITYLOGGING=1
2891.2Sad# options	RF_INCLUDE_CHAINDECLUSTER=1
2901.2Sad# options	RF_INCLUDE_INTERDECLUSTER=1
2911.2Sad# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
2921.2Sad# options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
2931.2Sad
2941.2Sad# for IPv6
2951.2Sadpseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
2961.2Sad#pseudo-device	faith			# IPv[46] tcp relay translation i/f
2971.2Sadpseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
2981.2Sad
2991.15Sad## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
3001.2Sadpseudo-device	vlan
3011.2Sad
3021.16Sad## Simple inter-network traffic bridging
3031.2Sadpseudo-device	bridge
3041.16Sad#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
3051.16Sadpseudo-device	agr			# IEEE 802.3ad link aggregation
3061.2Sadpseudo-device	ksyms			# /dev/ksyms
3071.16Sadpseudo-device	drvctl			# driver control
3081.16Sad#pseudo-device	pf			# PF packet filter
3091.16Sad#pseudo-device	pflog			# PF log if
3101.16Sad
3111.2Sad# Veriexec
3121.2Sad#
3131.2Sad# a pseudo device needed for veriexec
3141.2Sad#pseudo-device	veriexec
3151.2Sad#
3161.2Sad# Uncomment the fingerprint methods below that are desired. Note that
3171.2Sad# removing fingerprint methods will have almost no impact on the kernel
3181.2Sad# code size.
3191.2Sad#
3201.2Sad#options VERIFIED_EXEC_FP_SHA256
3211.2Sad#options VERIFIED_EXEC_FP_SHA384
3221.2Sad#options VERIFIED_EXEC_FP_SHA512
3231.2Sad