# FreeBSD/sparc64 5.0-RELEASE Hardware Notes

### The FreeBSD Documentation Project

Copyright © 2000, 2001, 2002, 2003 by The FreeBSD Documentation Project

# 1 Introduction

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.

# 2 Supported Systems

Additions, corrections and constructive criticism are invited. In particular, information on system quirks is more than welcome.

## 2.1 Overview

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.

## 2.2 In general, what do you need to run FreeBSD on a sparc64

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.

## 2.3 System-specific information

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.

### 2.3.1 Ultra 1

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.

### 2.3.2 Ultra 2

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

### 2.3.3 Ultra 5/10

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)

### 2.3.4 Ultra 60

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)

### 2.3.5 Blade 100

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

## 2.4 Supported Hardware Overview

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.

# 3 Supported Devices

$FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/sparc64/dev-sparc64.sgml,v 1.1.2.1 2003/01/14 18:12:51 roam Exp $

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.

## 3.1 PCI Hardware

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:

- `apb` (Sun PCI-PCI bridge)

- generic PCI-PCI bridges

- ahc(4) (coming real soon).

- ata(4), `atadisk`, `atapicd` (but not atapifd, atapist)

- `gem` (Sun GEM/ERI ethernet, on-board on Blade 100)

- `hme` (Sun HME ethernet, on-board on Ultra 5, 10)

- sio(4)

- sym(4)

## 3.2 SBus Hardware

The following drivers have SBus front ends:

- `hme` Ethernet

- `mk48txx` ('eeprom' device; time-of-day clock)

## 3.3 ISA Hardware

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:

- sio(4)

## 3.4 EBus Hardware

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:

- sio(4)

- `mk48txx` ('eeprom' device; time-of-day clock)

## 3.5 Unsupported Hardware

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

# 4 Acknowledgments

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 <questions@FreeBSD.org>.

For questions about this documentation, e-mail <doc@FreeBSD.org>.