diff --git a/README.md b/README.md index 372f3d3..75f4d4b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,43 @@ # NetBSD on Sun Blade 1500 Configuration files I've modified or added to get NetBSD to run well on my Sun Blade 1500 with a Sun XVR-100 graphics card. + +## Xorg and securelevel +Most stuff works out of the box, except for X11 with the Sun XVR-100 +graphics card. The card is actually a Radeon 7000, and hence the `radeon` +driver could be used. However, this is prevented by the default +`securelevel`. + +Here we have two choices. One is to use the `wsfb` driver instead, which works +out of the box. The downside is that it uses the same bit bepth as the +framebuffer console, which is only 8 bits. The other choice is to compile a +new kernel with `options INSECURE`. This lets us set `securelevel` to `-1` in +`/etc/rc.conf`. We can then use 24 bit color depth with the `radeon` driver. + +In my case I've named the kernel after myself, JACKBENNY. But you can rename +the kernel config file to whatever you like. For instruction on how to compile +a new kernel in NetBSD, read the following (in this order): + +1. [Obtaining the sources](https://www.netbsd.org/docs/guide/en/chap-fetch.html) +2. [Compiling the kernel](https://www.netbsd.org/docs/guide/en/chap-kernel.html) + +For more information about securelevels, see [secmodel_securelevel(9)](https://man.netbsd.org/secmodel_securelevel.9) +and [kernel secure levels](https://wiki.netbsd.org/tutorials/kernel_secure_levels/). + +## The keyboard +I live in Sweden so I've set the keyboard layout to Swedish in +`/etc/wscons.conf`, and then activated wscons in `/etc/rc.conf`. + +To get the **Compose** key to work under Xorg I needed to map the keycode (117) +to `Multi_key` with Xmodmap. I've added this to the system-wide +`.Xmodmap` under `/etc/X11/xinitrc/Xmodmap` so it works for all users. + +## Closing thoughts +I really enjoy Sun hardware, but Solaris hasn't aged very well. NetBSD on the +other hand is a really nice system. It's a modern BSD which is both fun and +simple to tinker with, and there's lots and lots of software available for it. + +The picture below is my own Sun Blade 1500. I have replaced the mechanical +harddrive with a 128 gigabyte SSD connected with a SATA-to-IDE adapter. + +![Jack-Benny's Sun Blade 1500](jackbenny-sunblade1500.jpg) diff --git a/jackbenny-sunblade1500.jpg b/jackbenny-sunblade1500.jpg new file mode 100644 index 0000000..d1e6e8e Binary files /dev/null and b/jackbenny-sunblade1500.jpg differ diff --git a/usr/src/sys/arch/sparc64/conf/JACKBENNY b/usr/src/sys/arch/sparc64/conf/JACKBENNY new file mode 100644 index 0000000..f50b6dd --- /dev/null +++ b/usr/src/sys/arch/sparc64/conf/JACKBENNY @@ -0,0 +1,871 @@ +# $NetBSD: GENERIC,v 1.237.4.1 2023/10/09 23:33:46 snj Exp $ +# +# GENERIC machine description file +# +# This machine description file is used to generate the default NetBSD +# kernel. The generic kernel does not include all options, subsystems +# and device drivers, but should be useful for most applications. +# +# The machine description file can be customised for your specific +# machine to reduce the kernel size and improve its performance. +# +# For further information on compiling NetBSD kernels, see the config(8) +# man page. +# +# For further information on hardware support for this architecture, see +# the intro(4) man page. For further information about kernel options +# for this architecture, see the options(4) man page. For an explanation +# of each device driver in this file see the section 4 man page for the +# device. + +include "arch/sparc64/conf/std.sparc64" + +options INCLUDE_CONFIG_FILE # embed config file in kernel binary + +#ident "GENERIC-$Revision: 1.237.4.1 $" + +maxusers 64 + +## System kernel configuration. See options(4) for more detail. + + +# Options for variants of the Sun SPARC architecure. +options SUN4U # sun4u - UltraSPARC +options SUN4V # sun4v - UltraSPARC T1/T2+/T3/T4/T5 +#options BLINK # blink the system LED + +#### 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 MODULAR # new style module(7) framework +options MODULAR_DEFAULT_AUTOLOAD + +options USERCONF # userconf(4) support +#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) +options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel + +# Alternate buffer queue strategies for better responsiveness under high +# disk I/O load. +#options BUFQ_READPRIO +options BUFQ_PRIOCSCAN + +## NFS boot options; tries DHCP/BOOTP then BOOTPARAM +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. +# we enable DDB in GENERIC for now. +options DDB # kernel dynamic debugger +options DDB_HISTORY_SIZE=100 # enable history editing in DDB +options DDB_VERBOSE_HELP # enable verbose online help +#options DDB_ONPANIC=1 # see also sysctl(7): `ddb.onpanic' + +## You may also use gdb, on another computer connected to this machine over +## a serial port. +# options KGDB +# options KGDB_DEVNAME="\"sabtty1\"" # kgdb device name +# options KGDB_DEVRATE=38400 # baud rate (defaults to 9600) + + +## 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 +#options SYSCALL_DEBUG + +## Make SCSI error messages more verbose when explaining their meanings. +options SCSIVERBOSE +options PCIVERBOSE +options MIIVERBOSE # verbose PHY autoconfig messages +#options PCI_CONFIG_DUMP # verbosely dump PCI config space + +## `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 -- 64-bit only +options EXEC_AOUT # execve(2) support for a.out binaries +options EXEC_ELF32 # Exec module for SunOS 5.x binaries. + +# Wedge support +options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances +options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges +#options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges +#options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges +#options DKWEDGE_METHOD_APPLE # Support Apple partitions as wedges +#options DKWEDGE_METHOD_RDB # Support RDB partitions as wedges + +## File systems. +include "conf/filesystems.config" + +## 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 WAPBL # File system journaling support +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 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 + +#options ALTQ # Manipulate network interfaces' output queues +#options ALTQ_BLUE # Stochastic Fair Blue +#options ALTQ_CBQ # Class-Based Queueing +#options ALTQ_CDNR # Diffserv Traffic Conditioner +#options ALTQ_FIFOQ # First-In First-Out Queue +#options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) +#options ALTQ_HFSC # Hierarchical Fair Service Curve +#options ALTQ_LOCALQ # Local queueing discipline +#options ALTQ_PRIQ # Priority Queueing +#options ALTQ_RED # Random Early Detection +#options ALTQ_RIO # RED with IN/OUT +#options ALTQ_WFQ # Weighted Fair Queueing + + +#### Main bus and CPUs .. all systems. +mainbus0 at root +options MULTIPROCESSOR # include multiprocessor support +cpu* at mainbus0 # declare additional CPUs + +#### Bus types found on SPARC systems. + +sbus* at mainbus0 # SBus-based systems +psycho* at mainbus0 # PCI-based systems +schizo* at mainbus? +pyro* at mainbus? +vpci* at mainbus0 +central* at mainbus? +fhc* at mainbus? +pci* at psycho? +pci* at schizo? +pci* at pyro? +pci* at vpci? +pci* at ppb? +ppb* at pci? +fhc* at central? +ebus* at mainbus0 # ebus devices +ebus* at pci? # ebus devices +# XXX 'puc's aren't really bridges, but there's no better place for them here +puc* at pci? dev ? function ? # PCI "universal" comm. cards +vbus0 at mainbus0 +cbus* at vbus? + +#### Standard system devices -- all required for a given architecture + +## PROM console driver -- if all else fails +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 + +# We also need: +bpp* at sbus? slot ? offset ? # parallel port +lpt* at ebus? # parallel port + +## Mostek clock found on sbus on Ultra-1,2 systems +## and found on ebus on Ultra-5 and other systems. +clock* at sbus? slot ? offset ? +clock* at fhc? +clock* at ebus? + +## DS1287 compatible clock found on ebus on Netra X1 and other systems. +rtc* at ebus? + +## Timer chip found on 4/300, sun4c, sun4m and (some) sun4u systems. +timer* at mainbus0 # sun4c + +## found in schizo-based systems +jbusi2c* at mainbus0 +iic* at jbusi2c? + +# Virtual devices for sun4v systems. +vrtc0 at vbus? +vdsk* at cbus? +vnet* at cbus? + +#### Serial port configuration + +## Zilog 8530 serial chips. Each has two-channels. +## zs0 is ttya and ttyb. zs1 is the keyboard and mouse. +zs* at sbus? slot ? offset ? +zs* at fhc? +zstty* at zs? channel ? # ttys +kbd0 at zstty? +ms0 at zstty? + +## PCI machines have serial ports: +## Siemens SAB82532 controller: ttya and ttyb (`su'; sab) +## Part of NS PC87332VLJ Super I/O controller: kbd/mouse (`se'; com) + +## The SAB82532 controller has two serial ports +sab* at ebus? # ttya/ttyb +sabtty* at sab? channel ? + +## Part of a PC87332VLJ +com* at ebus? # `com' driver for `su' +kbd0 at com? # keyboard +ms0 at com? # mouse + +## Tadpole SPARCle PS/2 keyboard and mouse +pckbc* at ebus? # PC keyboard controller +options HAVE_TADPMU # include support for Tadpole Viper PMU +pckbd* at pckbc? # PC keyboard +pms* at pckbc? # PS/2 mouse for wsmouse +options PMS_SYNAPTICS_TOUCHPAD # Enable support for Synaptics Touchpads +wskbd* at pckbd? console ? +wsmouse* at pms? mux 0 + +## Tadpole SPARCle SD card +wb* at ebus? # Winbond W83L518D SD/MMC reader +sdmmc* at wb? +ld* at sdmmc? + +## Magma Serial/Parallel driver (not tested) +#magma* at sbus? slot ? offset ? +#mtty* at magma? +#mbpp* at magma? + +## SUNW,spif Serial/Parallel driver +spif* at sbus? slot ? offset ? +stty* at spif? +sbpp* at spif? + +## PCI serial interfaces +com* at puc? port ? # 16x50s on "universal" comm boards +cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards +cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards + +# PCI cryptographic devices +hifn* at pci? dev ? function ? # Hifn 7755/7811/795x +ubsec* at pci? dev ? function ? # Broadcom 5501/5601/580x/582x + + +#### 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] +## bits 16-23: disable tagged queuing for target [bit-16] + +## sun4u on-board SCSI, and FSBE/S SBus SCSI cards, an NCR53c94 or +## equivalent behind an LSI Logic DMA controller + +dma* at sbus? slot ? offset ? # SBus +esp* at dma? # SBus + +esp* at sbus? slot ? offset ? +isp* at sbus? slot ? offset ? +isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel +siop* at pci? # 53C8xx ("glm" compatible) +esiop* at pci? # 53C875 and newer ("glm" compatible) + +# PCI SCSI controllers +# UT marks untested. +adv* at pci? dev ? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI UT +adw* at pci? dev ? function ? # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI UT +ahc* at pci? dev ? function ? # Adaptec [23]94x, aic78x0 SCSI +bha* at pci? dev ? function ? # BusLogic 9xx SCSI UT +dpt* at pci? dev ? function ? # DPT SmartCache/SmartRAID UT +iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI +mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030 +njs* at pci? dev ? function ? # Workbit NinjaSCSI-32 +pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI +trm* at pci? dev ? function ? # Tekram DC-395U/UW/F, DC-315/U SCSI + +scsibus* at scsi? + +## These entries find devices on all SCSI busses and assign +## unit numbers dynamically. +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 +ses* at scsibus? target ? lun ? # SCSI SES/SAF-TE devices +uk* at scsibus? target ? lun ? # unknown SCSI + +# IDE and related devices +# PCI IDE controllers - see pciide(4) for supported hardware. +# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know +# how to set up DMA modes for this chip. This may work, or may cause +# a machine hang with some controllers. +pciide* at pci? dev ? function ? flags 0x0000 # GENERIC pciide driver +acardide* at pci? dev ? function ? # Acard IDE controllers +aceride* at pci? dev ? function ? # Acer Lab IDE controllers +artsata* at pci? dev ? function ? # Intel i31244 SATA controller +cmdide* at pci? dev ? function ? # CMD tech IDE controllers +cypide* at pci? dev ? function ? # Cypress IDE controllers +hptide* at pci? dev ? function ? # Triones/HighPoint IDE controllers +optiide* at pci? dev ? function ? # Opti IDE controllers +pdcide* at pci? dev ? function ? # Promise IDE controllers +pdcsata* at pci? dev ? function ? # Promise SATA150 controllers +satalink* at pci? dev ? function ? # SiI SATALink controllers +siisata* at pci? dev ? function ? # SiI SteelVine controllers +siside* at pci? dev ? function ? # SiS IDE controllers +slide* at pci? dev ? function ? # Symphony Labs IDE controllers +viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers + +# ATA (IDE) bus support +atabus* at ata? +atapibus* at atapi? + +# IDE drives +# Flags are used only with controllers that support DMA operations +# and mode settings (e.g. some pciide controllers) +# The lowest order four bits (rightmost digit) of the flags define the PIO +# mode to use, the next set of four bits the DMA mode and the third set the +# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode +# to use, and the last bit must be 1 for this setting to be used. +# For DMA and UDMA, 0xf (1111) means 'disable'. +# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'. +# (0xc=1100, 0xa=1010, 0xf=1111) +# 0x0000 means "use whatever the drive claims to support". +wd* at atabus? drive ? flags 0x0000 + +cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives +sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives +uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown + +# RAID controllers and devices (untested) +cac* at pci? dev ? function ? # Compaq PCI array controllers +mlx* at pci? dev ? function ? # Mylex DAC960 & DEC SWXCR family +twe* at pci? dev ? function ? # 3ware Escalade RAID controllers + +ld* at cac? unit ? # logical disk devices +ld* at twe? unit ? +ld* at mlx? unit ? + +# Virtio devices +virtio* at pci? dev ? function ? # Virtio PCI device +# the baloon driver can not work on machines with non-4k pages +#viomb* at virtio? # Virtio memory balloon device +ld* at virtio? # Virtio disk device +vioif* at virtio? # Virtio network device +viornd* at virtio? # Virtio entropy device +vioscsi* at virtio? # Virtio SCSI device + +## Floppy controller and drive found on SPARCstations. + +# need share with the sparc, and everyone else. needs to use auxio. +# actually, the ebus version has (will have) direct access to its AUXIO +# register space (it is mapped in to fdthree not auxio). +fdc0 at sbus? slot ? offset ? # SUNW,fdtwo +#fdc0 at ebus? # fdthree, EXPERIMENTAL +fd* at fdc0 # the drive itself + +# Pull in optional local configuration +cinclude "arch/sparc64/conf/GENERIC.local" + +# +# accept filters +pseudo-device accf_data # "dataready" accept filter +pseudo-device accf_http # "httpready" accept filter + +## A disk-like interface to files. Can be used to create floppy, CD, +## miniroot images, etc. + +pseudo-device vnd +#options VND_COMPRESSION # compressed vnd(4) + +## 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 + +## Cryptographic disk devices. See cgd(4). + +pseudo-device cgd + +## RAIDframe disk driver: software RAID driver. See raid(4). + +pseudo-device raid +options RAID_AUTOCONFIG # auto-configuration of RAID components +# Options to enable various other RAIDframe RAID types. +# options RF_INCLUDE_EVENODD=1 +# options RF_INCLUDE_RAID5_RS=1 +# options RF_INCLUDE_PARITYLOGGING=1 +# options RF_INCLUDE_CHAINDECLUSTER=1 +# options RF_INCLUDE_INTERDECLUSTER=1 +# options RF_INCLUDE_PARITY_DECLUSTERING=1 +# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 + + +## 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. + +ledma0 at sbus? 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 + +## Happy Meal Ethernet +hme* at sbus? slot ? offset ? +hme* at pci? dev ? function ? # network "hme" compatible + +## qec/be, qec/hme +qec* at sbus? slot ? offset ? +be* at qec? +qe* at qec? + +# PCI network interfaces +# UT marks untested. +an* at pci? dev ? function ? # Aironet PC4500/PC4800 (802.11) UT +ath* at pci? dev ? function ? # Atheros 5210/5211/5212 802.11 UT +bge* at pci? dev ? function ? # Broadcom 570x gigabit Ethernet +bnx* at pci? dev ? function ? # Broadcom NetXtreme II Ethernet +cas* at pci? dev ? function ? # Sun Cassini/Cassini+ Ethernet +# XXX causes ICE +#ep* at pci? dev ? function ? # 3Com 3c59x +epic* at pci? dev ? function ? # SMC EPIC/100 Ethernet +ex* at pci? dev ? function ? # 3Com 90x[B] +fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B +gem* at pci? dev ? function ? # Apple GMAC and Sun ERI gigabit enet +gem* at sbus? slot ? offset ? +gsip* at pci? dev ? function ? # National Semiconductor DP83820 GigE +ixg* at pci? dev ? function ? # Intel 8259x 10 gigabit +mskc* at pci? dev ? function ? # Marvell Yukon 2 Gigabit Ethernet +msk* at mskc? # Marvell Yukon 2 Gigabit Ethernet +ne* at pci? dev ? function ? # NE2000-compatible Ethernet UT +ntwoc* at pci? dev ? function ? # Riscom/N2 PCI Sync Serial UT +# XXX cause uncorrectable DMA error +#pcn* at pci? dev ? function ? # PCnet-PCI Ethernet +ral* at pci? dev ? function ? # ralink wifi UT +re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S +rtk* at pci? dev ? function ? # Realtek 8129/8139 +sip* at pci? dev ? function ? # SiS 900 Ethernet +skc* at pci? dev ? function ? # SysKonnect SK9821 Gigabit Ethernet +sk* at skc? # SysKonnect SK9821 Gigabit Ethernet +ti* at pci? dev ? function ? # Alteon ACEnic gigabit Ethernet UT +tl* at pci? dev ? function ? # ThunderLAN-based Ethernet +tlp* at pci? dev ? function ? # DECchip 21x4x and clones +vge* at pci? dev ? function ? # VIA VT612X Gigabit Ethernet +vr* at pci? dev ? function ? # VIA Rhine Fast Ethernet +wi* at pci? dev ? function ? # Lucent/Intersil WaveLAN/IEEE +wm* at pci? dev ? function ? # Intel 8254x gigabit + +# MII/PHY support +acphy* at mii? phy ? # Altima AC101 and AMD Am79c874 PHYs +bmtphy* at mii? phy ? # Broadcom BCM5201 and BCM5202 PHYs +brgphy* at mii? phy ? # Broadcom BCM5400-family PHYs +ciphy* at mii? phy ? # Cicada CS8201 Gig-E PHYs +dmphy* at mii? phy ? # Davicom DM9101 PHYs +exphy* at mii? phy ? # 3Com internal PHYs +gentbi* at mii? phy ? # Generic Ten-Bit 1000BASE-[CLS]X PHYs +gphyter* at mii? phy ? # NS83861 Gig-E PHY +icsphy* at mii? phy ? # Integrated Circuit Systems ICS189x +igphy* at mii? phy ? # Intel IGP01E1000 +ikphy* at mii? phy ? # Intel 82563 PHYs +inphy* at mii? phy ? # Intel 82555 PHYs +iophy* at mii? phy ? # Intel 82553 PHYs +lxtphy* at mii? phy ? # Level One LXT-970 PHYs +makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs +nsphy* at mii? phy ? # NS83840 PHYs +nsphyter* at mii? phy ? # NS83843 PHYs +qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs +rgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs +rlphy* at mii? phy ? # Realtek 8139/8201L PHYs +sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs +tlphy* at mii? phy ? # ThunderLAN PHYs +tqphy* at mii? phy ? # TDK Semiconductor PHYs +ukphy* at mii? phy ? # generic unknown PHYs + +# PCI USB controllers +ehci* at pci? dev ? function ? # Enhanced Host Controller +ohci* at pci? dev ? function ? # Open Host Controller +uhci* at pci? dev ? function ? # Universal Host Controller (Intel) + +# USB bus support +usb* at ehci? +usb* at ohci? +usb* at uhci? +#usb* at slhci? + +# USB device drivers +include "dev/usb/usbdevices.config" + +# Firewire support +fwohci* at pci? dev ? function ? # IEEE1394 Open Host Controller +ieee1394if* at fwohci? +fwip* at ieee1394if? # IP over IEEE1394 +sbp* at ieee1394if? euihi ? euilo ? + +## 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 + +## PPP over Ethernet (RFC 2516) +pseudo-device pppoe + +## 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 +pseudo-device tap # virtual Ethernet + +## Generic L3 over IP tunnel +pseudo-device gre # generic L3 over IP tunnel + +## Berkeley Packet Filter, required to run RARPD. A generic C-language +## interface that allows selective examining of incoming packets. +pseudo-device bpfilter + +pseudo-device carp # Common Address Redundancy Protocol + +## IEEE 802.1q encapsulation +pseudo-device vlan + +## Simple inter-network traffic bridging +pseudo-device bridge +pseudo-device vether # Virtual Ethernet for bridge +pseudo-device agr # IEEE 802.3ad link aggregation + +pseudo-device npf # NPF packet filter + +## for IPv6 +pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) +#pseudo-device faith # IPv[46] tcp relay translation i/f +pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation + + +#### CardBus and PCMCIA devices + +# PCI CardBus bridge support +#cbb* at pci? dev ? function ? +#cardslot* at cbb? + +# CardBus bus support +#cardbus* at cardslot? +#pcmcia* at cardslot? + +## SBus to PCMCIA bridge +#nell* at sbus? slot ? offset ? # PCMCIA bridge +#pcmcia* at nell? + +## CardBus cards; UT marks untested. + +# CardBus serial interfaces +#com* at cardbus? function ? # Modems and serial cards UT + +# CardBus SCSI controllers +#adv* at cardbus? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI UT +#ahc* at cardbus? function ? # Adaptec ADP-1480 UT +#njs* at cardbus? function ? # Workbit NinjaSCSI-32 + +# CardBus IDE controllers +#njata* at cardbus? function ? flags 0x01 # Workbit NinjaATA-32 + +# CardBus network interfaces +#ath* at cardbus? function ? # Atheros 5210/5211/5212 802.11 +#athn* at cardbus? function ? # Atheros AR9k (802.11a/g/n) UT +#atw* at cardbus? function ? # ADMtek ADM8211 (802.11) UT +#bwi* at cardbus? function ? # Broadcom BCM43xx wireless +#ex* at cardbus? function ? # 3Com 3C575TX +#fxp* at cardbus? function ? # Intel i8255x UT +#ral* at cardbus? function ? # Ralink Technology RT25x0 802.11a/b/g UT +#re* at cardbus? function ? # Realtek 8139C+/8169/8169S/8110S UT +#rtk* at cardbus? function ? # Realtek 8129/8139 UT +#rtw* at cardbus? function ? # Realtek 8180L (802.11) UT +#tlp* at cardbus? function ? # DECchip 21143 + +# CardBus USB controllers +#ehci* at cardbus? function ? # Enhanced Host Controller +#ohci* at cardbus? function ? # Open Host Controller +#uhci* at cardbus? function ? # Universal Host Controller (Intel) UT + +# CardBus IEEE1394 controllers +#fwohci* at cardbus? function ? # IEEE1394 Open Host Controller UT + +## PCMCIA cards; UT marks untested. + +# PCMCIA serial interfaces +#com* at pcmcia? function ? # Modems and serial cards + +#pcmcom* at pcmcia? function ? # PCMCIA multi-port serial cards UT +#com* at pcmcom? slave ? # ...and the slave devices + +# PCMCIA SCSI controllers +#aic* at pcmcia? function ? # Adaptec APA-1460 SCSI UT +#esp* at pcmcia? function ? # Qlogic ESP406/FAS408 SCSI UT +#spc* at pcmcia? function ? # Fujitsu MB87030/MB89352 SCSI + +# PCMCIA IDE controllers +#wdc* at pcmcia? function ? + +# PCMCIA network interfaces +#an* at pcmcia? function ? # Aironet PC4500/PC4800 (802.11) UT +#awi* at pcmcia? function ? # BayStack 650/660 (802.11FH/DS) UT +#cnw* at pcmcia? function ? # Xircom/Netwave AirSurfer UT +#cs* at pcmcia? function ? # CS89xx Ethernet UT +#ep* at pcmcia? function ? # 3Com 3c589 and 3c562 Ethernet +#mbe* at pcmcia? function ? # MB8696x based Ethernet UT +#ne* at pcmcia? function ? # NE2000-compatible Ethernet +#ray* at pcmcia? function ? # Raytheon Raylink (802.11) UT +#sm* at pcmcia? function ? # Megahertz Ethernet UT +#wi* at pcmcia? function ? # Lucent/Intersil WaveLan IEEE (802.11) +#xirc* at pcmcia? function ? # Xircom CreditCard Ethernet UT +#com* at xirc? +#xi* at xirc? +#mhzc* at pcmcia? function ? # Megahertz Ethernet/Modem combo cards +#com* at mhzc? +#sm* at mhzc? + +# PCMCIA USB controllers +#slhci* at pcmcia? function ? # ScanLogic SL811HS UT + +#### Bluetooth Controller and Device support + +## Bluetooth PCMCIA Controllers +#bt3c* at pcmcia? function ? # 3Com 3CRWB6096-A +#btbc* at pcmcia? function ? # AnyCom BlueCard LSE041/039/139 + +## Bluetooth USB Controllers +ubt* at uhub? port ? +aubtfwl* at uhub? port ? + +## Bluetooth Device Hub +#bthub* at bcsp? +#bthub* at bt3c? +#bthub* at btbc? +#bthub* at btuart? +bthub* at ubt? + +## Bluetooth HID support +bthidev* at bthub? + +## Bluetooth Mouse +btms* at bthidev? reportid ? +wsmouse* at btms? mux 0 + +## Bluetooth Keyboard +btkbd* at bthidev? reportid ? +wskbd* at btkbd? console ? mux 1 + +## Bluetooth Apple Magic Mouse +btmagic* at bthub? +wsmouse* at btmagic? mux 0 + +## Bluetooth Audio support +btsco* at bthub? + +#### Audio and video devices + +## /dev/audio support (`audiocs' plus `audio') +## +audiocs* at sbus? slot ? offset ? # SUNW,CS4231 +audiocs* at ebus? # SUNW,CS4231 in U5/U10 +autri* at pci? dev ? function ? # Blade 100 'sound' +auacer* at pci? dev ? function ? # Ultra45 + +audio* at audiobus? + +spkr* at audio? # PC speaker (synthesized) + +midi* at midibus? + + +## Sun "bwtwo" black and white framebuffer +bwtwo0 at sbus? slot ? offset ? +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. +cgsix* at sbus? slot ? offset ? + +## Southland Media Systems (now Quantum 3D) MGX +mgx* at sbus? slot ? offset ? + +## Sun FFB +ffb* at mainbus0 +upa* at mainbus? +ffb* at upa? + +## Sun XVR-1000 +gfb* at mainbus0 + +# On board vga on U5/U10 etc. +machfb* at pci? + +# Sun XVR-100 +radeonfb* at pci? + +# Sun PGX32 / TechSource Raptor GFX 8P +pm2fb* at pci? + +# 3Dlabs Wildcat based boards like XVR-500, 1200 etc. +wcfb* at pci? + +# generic PCI framebuffers +genfb* at pci? +genfb* at sbus? slot ? offset ? + +# make sure the console display is always wsdisplay0 +wsdisplay0 at wsemuldisplaydev? console 1 +wsdisplay* at wsemuldisplaydev? + +# wsmouse for sun ms +wsmouse* at ms0 + +# wskbd for sun kbd +wskbd0 at kbd0 + +# various options for wscons - we try to look as much like a standard +# sun console as possible +#options WSEMUL_SUN # sun terminal emulation +options WSEMUL_VT100 # allow us to be wsvt25 +options WS_DEFAULT_FG=WSCOL_BLACK +options WS_DEFAULT_BG=WSCOL_LIGHT_WHITE +options WSDISPLAY_COMPAT_PCVT # emulate some ioctls +options WSDISPLAY_COMPAT_SYSCONS # emulate some more ioctls +options WSDISPLAY_COMPAT_USL # wsconscfg VT handling +options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes +options WSDISPLAY_DEFAULTSCREENS=4 +options FONT_GALLANT12x22 # PROM font look-alike +options FONT_DROID_SANS_MONO12x22 # antialiased font + +#### Other device configuration + +psm* at ebus? # Ultrabook IIi microcontroller +pcfiic* at ebus? # various environmental monitoring +iic* at pcfiic? +lom* at ebus? # LOMlite lights out management + +# Netra X1 / T1 style environmental monitoring +alipm* at pci? +iic* at alipm? + +spdmem* at iic? addr? +admtemp* at iic? addr? +adm1026hm* at iic? addr? +ecadc* at iic? addr? # envctrl/envctrltwo on E250/E450 +lmtemp* at iic? addr? +tda* at iic? addr? # fan control on SB1000/2000 +dbcool* at iic? addr? # SB25000 +seeprom* at iic? addr? # i2c-at24c64 fru's +pcagpio* at iic? addr? # V210/V240 GPIO's +pcf8574io* at iic? addr? # E250 GPIO's + +### Other pseudo-devices + +pseudo-device crypto # /dev/crypto device +pseudo-device swcrypto # software crypto implementation + +## 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. + + +pseudo-device wsmux # mouse & keyboard multiplexor +pseudo-device wsfont +pseudo-device clockctl # user control of clock subsystem +pseudo-device ksyms # /dev/ksyms +pseudo-device fss # file system snapshot device +#pseudo-device bcsp # BlueCore Serial Protocol +#pseudo-device btuart # Bluetooth HCI UART (H4) +pseudo-device lockstat # lock profiling +pseudo-device swwdog # software watchdog timer -- swwdog(4) + +# drvctl - needed to show device dictionary via drvctl(8) +pseudo-device drvctl + +include "dev/veriexec.config" + +options PAX_ASLR_DEBUG=1 # PaX ASLR debug +options PAX_SEGVGUARD=0 # PaX Segmentation fault guard +# XXX: there is no PLT format for sparc64 that cooperates with +# MPROTECT, so disable it for now +# options PAX_MPROTECT=0 # PaX mprotect(2) restrictions +# options PAX_MPROTECT_DEBUG=1 # PaX mprotect debug +options PAX_ASLR=1 # PaX Address Space Layout Randomization