Copyright © 2000, 2001, 2002, 2003 by The FreeBSD Documentation Project
This document contains the hardware compatibility notes for FreeBSD 5.0-RELEASE on the UltraSPARC hardware platform (also referred to as FreeBSD/sparc64 5.0-RELEASE). It lists devices known to work on this platform, as well as some notes on boot-time kernel customization that may be useful when attempting to configure support for new devices.
Note: This document includes information specific to the UltraSPARC hardware platform. Versions of the hardware compatibility notes for other architectures will differ in some details.
Additions, corrections and constructive criticism are invited. In particular, information on system quirks is more than welcome.
This document tries to provide a starting point for those who want to run FreeBSD on an UltraSPARC-based machine. It is aimed at providing background information on the various hardware designs. It is not a replacement for the systems manuals.
The information is structured as follows:
General hardware requirements to run FreeBSD on sparc64.
System specific information for each of the systems/boards supported by FreeBSD.
Information on expansion boards for FreeBSD, including things that differ from what is in the generic supported hardware list.
FreeBSD/sparc64 requires an UltraSPARC system. Currently, the newer PCI-based systems are supported better than the older SBus based systems. The following systems are known to work to varying degrees:
Sun Ultra 1 workstations
Sun Ultra 2 workstations
Sun Ultra 5 workstations
Sun Ultra 10 workstations
Sun Ultra 30 workstations
Sun Ultra 60 workstations
Sun Blade 100 workstations
Sun Netra t1 series servers
Sun Enterprise 220R servers
Sun Enterprise 250 servers
Sun Enterprise 420R servers
Ultra 80 and Blade 1000 are expected to work, maybe with minor modifications. SMP is supported on Ultra 2 and 60 workstations and Enterprise 220R, 250 and 420R servers.
Below is an overview of the UltraSPARC hardware that FreeBSD runs on. The GENERIC kernel configuration file in /sys/sparc64/conf/GENERIC may contain additional information about supported devices.
UltraSPARC Ultra1-family systems have not been thoroughly tested with FreeBSD. These systems are not very well supported, but it is possible to install FreeBSD onto an Ultra-1e with a hme Ethernet interface.
UltraSPARC Ultra2-family systems include the following hardware:
1 or 2 UltraSPARC II CPUs
Built-in Ethernet (hme compatible) interface
4 SBus slots
1 UPA Slot
Serial and Parallel ports
16-bit audio
UltraSPARC Ultra5/10-family systems include the following hardware:
UltraSPARC IIi CPU
Three PCI busses
Built-in Ethernet (hme compatible) interface
Built-in PCI-IDE controller (not yet committed - in Perforce tree)
Two PC-AT style `com' ports for the mouse and keyboard
Floppy driver controller
Siemens SAB82532 dual-channel serial ports for ttya and ttyb
One CS4231 audio device
One PC-AT style parallel port
Sun `ffb' frame buffer (Ultra10 only)
EBus (Sun proprietary bus for slow devices)
Sun Ultra 60 workstations include the following hardware:
1 or 2 UltraSPARC II CPUs
4 PCI slots
2 UPA slots
sym(4)-based UltraSCSI controller
Built-in Ethernet (hme compatible) interface
Serial and Parallel ports
16-bit audio
EBus (Sun proprietary bus for slow devices)
Sun Blade 100 workstations include the following hardware:
UltraSPARC IIe CPU
Three PCI busses
Built-in Ethernet (gem compatible) interface
Two USB ports (unsupported)
Two Firewire ports (unsupported)
Built-in PCI-IDE controller (not yet committed - in Perforce tree)
Two PC-AT style `com' ports for the mouse and keyboard
Floppy driver controller
sio(4) supported serial ports for ttya and ttyb
One CS4231 audio device
One PC-AT style parallel port
Built-in PGX64 (ATI) graphics
EBus (Sun proprietary bus for slow devices)
ISA bus
A word of caution: the installed base for FreeBSD/sparc64 is not nearly as large as for FreeBSD/Intel. This means that the enormous variation of PCI/ISA expansion cards out there has much less chance of having been tested on sparc64 than on Intel. This is not to imply they are doomed to fail, just that the chance of running into something never tested before is much higher. GENERIC contains things that are known to work on sparc64 only.
The PCI bus is fully supported. SBus support is limited, but is reported to work well enough to netboot an SBus-based Ultra 2 workstation.
1.44 Mbyte floppy drives are not yet supported.
ATA and ATAPI (IDE) devices are supported via the ata(4) driver framework. (not yet committed - in Perforce tree)
There is full SCSI support via the CAM layer. However, only NCR/Symbios cards are currently working. Adaptec 2940x (AIC 7xxx chip-based) and isp(4) cards should be supported soon. Be aware that SCSI cards must contain Sun FCODE in order to use them as a boot device from OpenBoot.
If you want to boot your sparc64 over the Ethernet you will obviously need an Ethernet card that the OpenBoot console recognizes.
hme, gem, and eri based network devices.
The ``PC standard'' serial ports found on most newer Sun workstations are supported.
This section describes the devices currently known to be supported by with FreeBSD on the UltraSPARC platform. Other configurations may also work, but simply have not been tested yet. Feedback, updates, and corrections to this list are encouraged.
Where possible, the drivers applicable to each device or class of devices is listed. If the driver in question has a manual page in the FreeBSD base distribution (most should), it is referenced here.
In general, any device for which there is a driver can be made to work on sparc64. Some drivers might just work, others might require some changes (because this is the first big-endian architecture to be supported by FreeBSD).
The following drivers are known to work:
The following drivers have SBus front ends:
hme Ethernet
mk48txx ('eeprom' device; time-of-day clock)
The paragraph about PCI drivers apply to ISA drivers as well, but with the notable exception that ISA DMA is not yet supported. This are generally on-board devices; there are no UltraSPARC boxes with ISA slots that the authors are aware of.
The following drivers are known to work:
The EBus is specific to Sun hardware, so drivers need to have support added to work with these devices. It is quite similar to ISA, so that ISA drivers can usually be easily ported, provided that they use the bus space interface, and not in[bwl]/out[bwl] and related functions. DMA is not yet supported.
The following drivers are known to work:
mk48txx ('eeprom' device; time-of-day clock)
The following hardware, which is built-in in Sun UltraSPARC boxes, is not currently supported:
graphics/frame buffer devices, keyboards (except indirectly in text mode using the ofw_console device)
Siemens sab82532 serial ports (Ultra 5/10; the keyboard/mouse ports are also RS232 ones and supported by the sio driver though; a driver, 'se', is being worked on).
serial keyboards (except indirectly using the ofw_console device)
Zilog z8530 serial ports (keyboard/mouse, ttya and ttyb in Ultra 1 and Ultra 2 boxen)
fas (Fast SCSI controller builtin in most Ultra 1 and Ultra 2 boxen)
USB ports (have issues, should be easy to get to work though)
all floppy drives/controllers
smart card readers (the Blade 100 has one, don't know much about it)
FireWire/IEEE1394
sound cards
parallel ports
This document is based in part on the FreeBSD/Alpha and NetBSD/sparc64 release documentation. Information about specific system models was obtained from Sun.
This file, and other release-related documents, can be downloaded from ftp://ftp.FreeBSD.org/.
For questions about FreeBSD, read the documentation before contacting <[email protected]>.
For questions about this documentation, e-mail <[email protected]>.