LOONGSON revision 1.18
11.18Schristos# $NetBSD: LOONGSON,v 1.18 2013/04/27 18:19:33 christos Exp $
21.1Sbouyer#
31.1Sbouyer# LOONGSON machine description file
41.1Sbouyer# 
51.1Sbouyer# This machine description file is used to generate the default NetBSD
61.1Sbouyer# kernel.  The generic kernel does not include all options, subsystems
71.1Sbouyer# and device drivers, but should be useful for most applications.
81.1Sbouyer#
91.1Sbouyer# The machine description file can be customised for your specific
101.1Sbouyer# machine to reduce the kernel size and improve its performance.
111.1Sbouyer#
121.1Sbouyer# For further information on compiling NetBSD kernels, see the config(8)
131.1Sbouyer# man page.
141.1Sbouyer#
151.1Sbouyer# For further information on hardware support for this architecture, see
161.1Sbouyer# the intro(4) man page.  For further information about kernel options
171.1Sbouyer# for this architecture, see the options(4) man page.  For an explanation
181.1Sbouyer# of each device driver in this file see the section 4 man page for the
191.1Sbouyer# device.
201.1Sbouyer
211.1Sbouyerinclude		"arch/evbmips/conf/std.loongson"
221.1Sbouyer
231.1Sbouyeroptions 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
241.1Sbouyer
251.18Schristos#ident 		"LOONGSON-$Revision: 1.18 $"
261.1Sbouyer
271.1Sbouyermaxusers	16
281.1Sbouyer
291.1Sbouyer# Standard system options
301.1Sbouyeroptions 	DDB			# in-kernel debugger
311.1Sbouyer#options 	DDB_ONPANIC=0		# don't enter debugger on panic
321.1Sbouyeroptions 	DDB_HISTORY_SIZE=512	# enable history editing in DDB
331.1Sbouyer#options 	KGDB			# remote debugger
341.1Sbouyeroptions 	DIAGNOSTIC		# extra kernel debugging checks
351.1Sbouyer#options 	DEBUG			# extra kernel debugging support
361.1Sbouyer#options 	PMAP_FAULTINFO
371.1Sbouyer#options 	LOCKDEBUG
381.1Sbouyermakeoptions	DEBUG="-g"
391.1Sbouyeroptions 	KTRACE			# system call tracing support
401.1Sbouyeroptions 	MSGBUFSIZE=8192		# dmesg buffer size
411.1Sbouyer
421.1Sbouyer## UVM options.
431.1Sbouyer#options 	UVM_PAGE_TRKOWN
441.1Sbouyer#options 	UVMHIST
451.1Sbouyer#options 	UVMHIST_PRINT	# Loud!
461.1Sbouyer
471.1Sbouyer#options 	SCSIVERBOSE		# human readable SCSI error messages
481.1Sbouyer#options 	PCMCIAVERBOSE		# verbose PCMCIA configuration messages
491.1Sbouyer#options 	PCMCIADEBUG
501.1Sbouyer#options 	PCMCIACISDEBUG
511.1Sbouyer
521.1Sbouyer#options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
531.1Sbouyer#options 	RTC_OFFSET=-540		# JST-9
541.1Sbouyer#options 	RTC_OFFSET=480		# PST8
551.1Sbouyer					# In NO RTC_OFFSET , inherit RTC_OFFSET
561.1Sbouyer					# from Windows CE.
571.1Sbouyeroptions 	NTP			# network time protocol
581.1Sbouyer
591.1Sbouyer#options 	WINCE_DEFAULT_SETTING	# Debugging use
601.1Sbouyer
611.11Snonaka# Note: SysV IPC parameters can be changed dynamically; see sysctl(8).
621.11Snonakaoptions 	SYSVMSG		# System V-like message queues
631.11Snonakaoptions 	SYSVSEM		# System V-like semaphores
641.11Snonakaoptions 	SYSVSHM		# System V-like memory sharing
651.11Snonaka
661.1Sbouyer#options 	SYSCALL_DEBUG		# for debug
671.1Sbouyer#options 	HPCMIPS_L1CACHE_DISABLE	# disable L1 cache for debug
681.1Sbouyeroptions 	USERCONF		# userconf(4) support
691.1Sbouyer#options	PIPE_SOCKETPAIR		# smaller, but slower pipe(2)
701.1Sbouyeroptions 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
711.1Sbouyer
721.15Smacallanoptions 	INSECURE	# disable kernel security levels
731.15Smacallan
741.1Sbouyer# Filesystem options
751.1Sbouyerfile-system 	FFS		# fast filesystem with user and group quotas
761.1Sbouyerfile-system 	MFS		# memory-based filesystem
771.1Sbouyerfile-system 	NFS		# Sun NFS-compatible filesystem (client)
781.1Sbouyerfile-system	EXT2FS		# second extended file system (linux)
791.1Sbouyer#file-system	LFS		# Log-based filesystem (still experimental)
801.1Sbouyerfile-system 	CD9660		# ISO 9660 + Rock Ridge file system
811.1Sbouyerfile-system 	MSDOSFS		# MS-DOS file system
821.1Sbouyer#file-system 	FDESC		# /dev/fd
831.1Sbouyerfile-system 	KERNFS		# /kern (kernel informational filesystem)
841.9Snonakafile-system 	NULLFS		# loopback file system
851.1Sbouyer#file-system 	OVERLAY		# overlay file system
861.1Sbouyerfile-system 	PROCFS		# /proc
871.1Sbouyer#file-system 	UMAPFS		# NULLFS + uid and gid remapping
881.1Sbouyerfile-system 	UNION
891.1Sbouyerfile-system	PTYFS		# /dev/pts/N support
901.9Snonakafile-system	TMPFS		# Efficient memory file-system
911.1Sbouyer#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
921.1Sbouyer
931.1Sbouyeroptions 	NFSSERVER	# Sun NFS-compatible filesystem (server)
941.8Sdhollandoptions 	WAPBL		# File system journaling support
951.1Sbouyer#options	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
961.1Sbouyer#options 	QUOTA		# legacy UFS quotas
971.1Sbouyer#options 	QUOTA2		# new, in-filesystem UFS quotas
981.1Sbouyer#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
991.1Sbouyer
1001.1Sbouyer# Networking options
1011.1Sbouyer#options 	GATEWAY		# IP packet forwarding
1021.1Sbouyeroptions 	INET		# IP + ICMP + TCP + UDP
1031.1Sbouyeroptions 	INET6		# IPV6
1041.1Sbouyer#options 	IPSEC		# IP security
1051.1Sbouyer#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
1061.1Sbouyer#options 	IPSEC_DEBUG	# debug for IP security
1071.1Sbouyer#options 	MROUTING	# Multicast routing support
1081.1Sbouyer#options 	PIM		# Protocol Independent Multicast
1091.1Sbouyeroptions 	PFIL_HOOKS	# pfil(9) packet filter hooks
1101.1Sbouyeroptions 	IPFILTER_LOG	# ipmon(8) log support
1111.1Sbouyeroptions 	IPFILTER_LOOKUP	# ippool(8) support
1121.1Sbouyeroptions 	IPFILTER_COMPAT # Compat for IP-Filter
1131.1Sbouyer#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
1141.1Sbouyer
1151.1Sbouyer#options 	ALTQ		# Manipulate network interfaces' output queues
1161.1Sbouyer#options 	ALTQ_BLUE	# Stochastic Fair Blue
1171.1Sbouyer#options 	ALTQ_CBQ	# Class-Based Queueing
1181.1Sbouyer#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
1191.1Sbouyer#options 	ALTQ_FIFOQ	# First-In First-Out Queue
1201.1Sbouyer#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
1211.1Sbouyer#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
1221.1Sbouyer#options 	ALTQ_LOCALQ	# Local queueing discipline
1231.1Sbouyer#options 	ALTQ_PRIQ	# Priority Queueing
1241.1Sbouyer#options 	ALTQ_RED	# Random Early Detection
1251.1Sbouyer#options 	ALTQ_RIO	# RED with IN/OUT
1261.1Sbouyer#options 	ALTQ_WFQ	# Weighted Fair Queueing
1271.1Sbouyer
1281.1Sbouyer# NetBSD backwards compatibility
1291.1Sbouyeroptions 	COMPAT_43
1301.1Sbouyeroptions 	COMPAT_16
1311.1Sbouyeroptions 	COMPAT_20
1321.1Sbouyeroptions 	COMPAT_30	# NetBSD 3.0 compatibility.
1331.1Sbouyeroptions 	COMPAT_40	# NetBSD 4.0 compatibility.
1341.1Sbouyeroptions 	COMPAT_50	# NetBSD 5.0 compatibility.
1351.13Sapboptions 	COMPAT_60	# NetBSD 6.0 compatibility.
1361.1Sbouyeroptions		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
1371.1Sbouyer
1381.1Sbouyer
1391.1Sbouyer#options 	NFS_BOOT_DHCP
1401.1Sbouyeroptions 	NFS_BOOT_BOOTP
1411.1Sbouyer#options 	NFS_BOOT_BOOTPARAM
1421.1Sbouyer
1431.1Sbouyer# compile options
1441.1Sbouyer#makeoptions	DEFGP="-G 10"
1451.1Sbouyer
1461.1Sbouyerconfig		netbsd		root on ? type ?
1471.1Sbouyer
1481.1Sbouyer# WS console uses SUN or VT100 terminal emulation
1491.1Sbouyeroptions 	WSEMUL_VT100
1501.14Smacallanoptions		WSDISPLAY_COMPAT_PCVT
1511.14Smacallanoptions 	WSDISPLAY_COMPAT_SYSCONS
1521.14Smacallanoptions		WSDISPLAY_COMPAT_USL
1531.14Smacallanoptions		WSDISPLAY_SCROLLSUPPORT
1541.4Smacallanoptions		WS_KERNEL_FG=WSCOL_GREEN
1551.1Sbouyer#options 	WSDISPLAY_DEFAULTSCREENS=4
1561.1Sbouyeroptions 	FONT_GALLANT12x22
1571.1Sbouyer# compatibility to other console drivers
1581.1Sbouyeroptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
1591.1Sbouyer#
1601.1Sbouyer# Hpckbd will set key board layout appropriately. You can use option
1611.1Sbouyer# 'PCKBD_LAYOUT' to overrite the default layout.
1621.1Sbouyer#
1631.1Sbouyer#options 	PCKBD_LAYOUT="(KB_US | KB_SWAPCTRLCAPS | KB_MACHDEP)"
1641.1Sbouyer
1651.1Sbouyermainbus0	at root
1661.1Sbouyercpu0		at mainbus0
1671.1Sbouyerbonito0		at mainbus0
1681.1Sbouyerpci0		at bonito0
1691.1Sbouyersisfb0		at pci0 dev ? function ?
1701.5Smacallanvoyager0	at pci0 dev ? function ?	# SM502 on GDIUM
1711.5Smacallanvoyagerfb0	at voyager0			# framebuffer portion
1721.14Smacallanpwmclock0	at voyager0			# clock and CPU freq scaling
1731.3Smacallaniic*		at voyager0
1741.9Snonakastrtc*		at iic? addr 0x68		# GDIUM's real time clock
1751.9Snonakaoptions 	STRTC_NO_USERRAM
1761.9Snonakalmtemp*		at iic? addr 0x48		# GDIUM's temperature sensor
1771.9Snonakastvii*		at iic? addr 0x40		# GDIUM's onboard microcontroller
1781.9Snonakalynxfb0		at pci0 dev ? function ?	# SM712 on Yeeloong Notebook
1791.1Sbouyer#genfb0		at pci0 dev ? function ?
1801.1Sbouyerwsdisplay*	at wsemuldisplaydev?
1811.1Sbouyerehci*		at pci0 dev ? function ?
1821.1Sbouyer#options 	EHCI_DEBUG
1831.1Sbouyerohci*		at pci0 dev ? function ?
1841.1Sbouyer#options 	OHCI_DEBUG, USB_DEBUG, UHUB_DEBUG
1851.1Sbouyer
1861.9Snonakagcscpcib*	at pci? dev ? function ?	# AMD CS5535/CS5536 PCI-ISA w/
1871.9Snonakagpio*		at gcscpcib?			# timecounter, watchdog and GPIO
1881.9Snonakaisa0		at gcscpcib?
1891.9Snonaka
1901.9Snonakapcib*		at pci?
1911.9Snonakaisa0		at pcib?
1921.9Snonaka
1931.9Snonakapckbc0		at isa?				# PC keyboard controller
1941.9Snonakapckbd*		at pckbc?			# PC keyboard
1951.9Snonakapms*		at pckbc?			# PS/2 mouse for wsmouse
1961.9Snonakaoptions 	PMS_SYNAPTICS_TOUCHPAD	# Enable support for Synaptics Touchpads
1971.9Snonakaoptions 	PMS_ELANTECH_TOUCHPAD	# Enable support for Elantech Touchpads
1981.9Snonakawskbd*		at pckbd? console ?
1991.9Snonakawsmouse*	at pms? mux 0
2001.1Sbouyer
2011.1Sbouyermcclock*	at isa? port 0x70		# mc146818-compatible
2021.1Sbouyercom0		at isa? port 0x2f8 irq 3	# Fuloong 2F only
2031.1Sbouyercom1		at isa? port 0x3f8 irq 4	# Fuloong 2F only (IR port)
2041.1Sbouyer
2051.9Snonakagcscaudio*	at pci?
2061.9Snonakaaudio*		at audiobus?
2071.9Snonaka
2081.1Sbouyerpciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
2091.1Sbouyerviaide* 	at pci? dev ? function ?	# VIA/AMD/Nvidia IDE controllers
2101.2Sbouyeroptions  	WDC_NO_IDS #workaround CS5536+JMH330 interrupt disable bug
2111.1Sbouyer
2121.1Sbouyer# ATA (IDE) bus support
2131.1Sbouyeratabus* at ata?
2141.1Sbouyeroptions 	ATADEBUG
2151.1Sbouyer
2161.1Sbouyer# IDE drives
2171.1Sbouyer# Flags are used only with controllers that support DMA operations
2181.1Sbouyer# and mode settings (e.g. some pciide controllers)
2191.1Sbouyer# The lowest order four bits (rightmost digit) of the flags define the PIO
2201.1Sbouyer# mode to use, the next set of four bits the DMA mode and the third set the
2211.1Sbouyer# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
2221.1Sbouyer# to use, and the last bit must be 1 for this setting to be used.
2231.1Sbouyer# For DMA and UDMA, 0xf (1111) means 'disable'.
2241.1Sbouyer# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
2251.1Sbouyer# (0xc=1100, 0xa=1010, 0xf=1111)
2261.1Sbouyer# 0x0000 means "use whatever the drive claims to support".
2271.1Sbouyerwd*	at atabus? drive ? flags 0x0000
2281.1Sbouyer
2291.1Sbouyer# ATAPI bus support
2301.1Sbouyer#atapibus* at atapi?
2311.1Sbouyer
2321.1Sbouyer# ATAPI devices
2331.1Sbouyer# flags have the same meaning as for IDE drives.
2341.1Sbouyer#cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
2351.1Sbouyer#sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
2361.1Sbouyer#st*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
2371.1Sbouyer#uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown
2381.1Sbouyer
2391.1Sbouyerral*	at pci? dev ? function ?	# RL2561S 802.11b/g
2401.1Sbouyerrtk*	at pci? dev ? function ?	# RTL8139 100/10 Ethernet
2411.1Sbouyerre*	at pci? dev ? function ?	# Realtek 8139C+/8169/8169S/8110S
2421.1Sbouyer# MII/PHY support
2431.1Sbouyerrgephy*	at mii? phy ?			# Realtek 8169S/8110S internal PHYs
2441.1Sbouyerrlphy*	at mii? phy ?			# Realtek 8139/8201L PHYs
2451.1Sbouyerukphy*	at mii? phy ?			# generic unknown PHYs
2461.1Sbouyer
2471.1Sbouyer# USB Hubs
2481.1Sbouyerusb*	at ehci?
2491.1Sbouyerusb*	at ohci?
2501.1Sbouyeruhub*	at usb?
2511.1Sbouyeruhub*	at uhub? port ?
2521.1Sbouyer
2531.1Sbouyer# USB HID device
2541.1Sbouyeruhidev*	at uhub? port ? configuration ? interface ?
2551.1Sbouyer
2561.1Sbouyer# USB Mice
2571.1Sbouyerums*		at uhidev? reportid ?
2581.1Sbouyerwsmouse*	at ums? mux 0
2591.1Sbouyer
2601.1Sbouyer# USB Keyboards
2611.1Sbouyerukbd*	at uhidev? reportid ?
2621.1Sbouyerwskbd*	at ukbd? console ? mux 1
2631.6Smacallanoptions	GDIUM_KEYBOARD_HACK	# support Fn key on Gdium
2641.1Sbouyer
2651.1Sbouyer# USB Generic HID devices
2661.1Sbouyeruhid*	at uhidev? reportid ?
2671.1Sbouyer
2681.1Sbouyer# USB serial adapter
2691.1Sbouyeruftdi*	at uhub? port ? configuration ?
2701.1Sbouyer
2711.1Sbouyer# USB Printer
2721.1Sbouyerulpt*	at uhub? port ? configuration ? interface ?
2731.1Sbouyer
2741.1Sbouyer# USB Modem
2751.1Sbouyerumodem*	at uhub? port ? configuration ?
2761.1Sbouyerucom*	at umodem?
2771.1Sbouyer
2781.1Sbouyer# Option N.V. Wireless WAN modems
2791.1Sbouyeruhso*	at uhub? port ? configuration ?
2801.1Sbouyer
2811.1Sbouyer# USB Mass Storage
2821.1Sbouyerumass*	at uhub? port ? configuration ? interface ?
2831.1Sbouyerscsibus*	at umass? channel ?
2841.1Sbouyersd*		at scsibus? target ? lun ?	# SCSI disk drives
2851.1Sbouyercd*		at scsibus? target ? lun ?	# SCSI CD-ROM drives
2861.1Sbouyer
2871.1Sbouyer# FTDI FT8U100AX serial adapter
2881.1Sbouyeruftdi*	at uhub? port ?
2891.1Sbouyerucom*	at uftdi? portno ?
2901.1Sbouyer
2911.1Sbouyeruplcom*	at uhub? port ?		# I/O DATA USB-RSAQ2 serial adapter
2921.1Sbouyerucom*	at uplcom? portno ?
2931.1Sbouyer
2941.1Sbouyerumct*	at uhub? port ?		# MCT USB-RS232 serial adapter
2951.1Sbouyerucom*	at umct? portno ?
2961.1Sbouyer
2971.10Schristos# Realtek RTL8187/RTL8187B 802.11b/g USB wireless adapter
2981.10Schristosurtw*	at uhub? port ?
2991.10Schristos
3001.1Sbouyer# USB Generic driver
3011.1Sbouyerugen*	at uhub? port ?
3021.1Sbouyer
3031.1Sbouyer#
3041.1Sbouyer# accept filters
3051.1Sbouyerpseudo-device   accf_data		# "dataready" accept filter
3061.1Sbouyerpseudo-device   accf_http		# "httpready" accept filter
3071.1Sbouyer
3081.18Schristospseudo-device	loop			# network loopback
3091.1Sbouyerpseudo-device	ppp			# serial-line IP ports
3101.1Sbouyerpseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
3111.1Sbouyerpseudo-device	pty			# pseudo-terminals
3121.1Sbouyerpseudo-device	bpfilter		# packet filter ports
3131.1Sbouyer#pseudo-device	carp			# Common Address Redundancy Protocol
3141.1Sbouyerpseudo-device	ipfilter		# IP filter, NAT
3151.1Sbouyer
3161.1Sbouyerpseudo-device	vnd			# virtual disk ick
3171.1Sbouyer#options 	VND_COMPRESSION		# compressed vnd(4)
3181.18Schristos#pseudo-device	ccd			# concatenated disks
3191.1Sbouyerpseudo-device	fss			# file system snapshot device
3201.18Schristos#pseudo-device	cgd			# cryptographic disks
3211.1Sbouyerpseudo-device	clockctl		# user control of clock subsystem
3221.1Sbouyer
3231.1Sbouyerpseudo-device	wsmux			# mouse & keyboard multiplexor
3241.9Snonakapseudo-device	wsfont
3251.1Sbouyer#pseudo-device	md			# memory disk device (ramdisk)
3261.1Sbouyer
3271.1Sbouyer#pseudo-device	raid		8	# RAIDframe disk driver
3281.1Sbouyer#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
3291.1Sbouyer# Options to enable various other RAIDframe RAID types.
3301.1Sbouyer# options	RF_INCLUDE_EVENODD=1
3311.1Sbouyer# options	RF_INCLUDE_RAID5_RS=1
3321.1Sbouyer# options	RF_INCLUDE_PARITYLOGGING=1
3331.1Sbouyer# options	RF_INCLUDE_CHAINDECLUSTER=1
3341.1Sbouyer# options	RF_INCLUDE_INTERDECLUSTER=1
3351.1Sbouyer# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
3361.1Sbouyer# options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
3371.1Sbouyer
3381.1Sbouyer# for IPv6
3391.1Sbouyerpseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
3401.1Sbouyer#pseudo-device	faith			# IPv[46] tcp relay translation i/f
3411.1Sbouyerpseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
3421.1Sbouyer
3431.1Sbouyer## IEEE 802.1Q Virtual LAN encapsulation, see vlan(4).
3441.1Sbouyerpseudo-device	vlan
3451.1Sbouyer
3461.1Sbouyer## Simple inter-network traffic bridging
3471.1Sbouyerpseudo-device	bridge
3481.1Sbouyer#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
3491.1Sbouyerpseudo-device	agr			# IEEE 802.3ad link aggregation
3501.1Sbouyerpseudo-device	ksyms			# /dev/ksyms
3511.1Sbouyer#pseudo-device	pf			# PF packet filter
3521.1Sbouyer#pseudo-device	pflog			# PF log if
3531.1Sbouyer
3541.1Sbouyer# Veriexec
3551.1Sbouyer#
3561.1Sbouyer# a pseudo device needed for veriexec
3571.1Sbouyer#pseudo-device	veriexec		1
3581.1Sbouyer#
3591.1Sbouyer# Uncomment the fingerprint methods below that are desired. Note that
3601.1Sbouyer# removing fingerprint methods will have almost no impact on the kernel
3611.1Sbouyer# code size.
3621.1Sbouyer#
3631.1Sbouyer#options VERIFIED_EXEC_FP_RMD160
3641.1Sbouyer#options VERIFIED_EXEC_FP_SHA256
3651.1Sbouyer#options VERIFIED_EXEC_FP_SHA384
3661.1Sbouyer#options VERIFIED_EXEC_FP_SHA512
3671.1Sbouyer#options VERIFIED_EXEC_FP_SHA1
3681.1Sbouyer#options VERIFIED_EXEC_FP_MD5
369