Fujitsu, the Fujitsu logo, LifeBook, Stylistic, PRIMEPOWER, PRIMEQUEST, PRIMECLUSTER,
ETERNUS, TRIOLE, ESPRIMO, BioMedCAChe, CAChe, CELLINJECTOR, isS, Materials Explorer,
SystemWalker, and Interstage are trademarks or registered trademarks of Fujitsu Limited
in the United States and other countries.

IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks
of International Business Machines Corporation in the United States, other countries, or
both.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or
registered trademarks of Intel Corporation or its subsidiaries in the United States and
other countries.

SPARC, SPARC64, SPARCengine, and UltraSPARC are trademarks of SPARC International, Inc
in the United States and other countries. SPARC International, Inc owns all of the SPARC
trademarks and under licensing agreements allows the proper use of these trademarks by
its members.

Many of the designations used by manufacturers and sellers to distinguish their
products are claimed as trademarks. Where those designations appear in this document, and
the FreeBSD Project was aware of the trademark claim, the designations have been followed
by the “™” or the “®” symbol.

This document contains the hardware compatibility notes for FreeBSD 8.1-RELEASE. It
lists the hardware platforms supported by FreeBSD, as well as the various types of
hardware devices (storage controllers, network interfaces, and so on), along with known
working instances of these devices.

Since mid-2003 FreeBSD/amd64 has supported the AMD64 (“Hammer”) and Intel® EM64T architecture, and is now one of the Tier-1
platforms (fully supported architecture), which are expected to be Production Quality
with respects to all aspects of the FreeBSD operating system, including installation and
development environments.

Note that there are two names for this architecture, AMD64 (AMD) and Intel EM64T
(Extended Memory 64-bit Technology). 64-bit mode of the two architectures are almost
compatible with each other, and FreeBSD/amd64 should support them both.

IntelPentium 4s and
Celeron Ds using the “Cedar Mill” core have EM64T support.

Some IntelPentium 4s
and Celeron Ds using the “Prescott” core have EM64T support. See the Intel Processor Spec Finder for
the definitive answer about EM64T support in Intel processors.

Intel EM64T is an extended version of IA-32 (x86) and
different from Intel IA-64 (Itanium) architecture, which
FreeBSD/ia64 supports. Some Intel's old documentation
refers to Intel EM64T as “64-bit extension
technology” or “IA-32e”.

The largest tested memory configuration to date is 64GB. SMP support has been recently
completed and is reasonably robust.

In many respects, FreeBSD/amd64 is similar to FreeBSD/i386, in terms of drivers
supported. There may be some issues with 64-bit cleanliness in some (particularly older)
drivers. Generally, drivers that already function correctly on other 64-bit platforms
should work.

FreeBSD/amd64 is a very young platform on FreeBSD. While the core FreeBSD kernel and
base system components are generally fairly robust, there are likely to still be rough
edges, particularly with third party packages.

FreeBSD/i386 runs on a wide variety of “IBM PC compatible” machines. Due
to the wide range of hardware available for this architecture, it is impossible to
exhaustively list all combinations of equipment supported by FreeBSD. Nevertheless, some
general guidelines are presented here.

Almost all i386™-compatible processors with a
floating point unit are supported. All Intel processors
beginning with the 80486 are supported, including the 80486, Pentium, Pentium Pro, Pentium II, Pentium III, Pentium 4, and variants thereof, such as the Xeon and Celeron® processors.
All i386-compatible AMD processors are also supported,
including the Am486®, Am5x86®, K5, AMD-K6® (and
variants), AMD Athlon (including Athlon-MP,
Athlon-XP, Athlon-4, and Athlon Thunderbird), and AMD Duron™ processors. The AMD Élan SC520
embedded processor is supported. The Transmeta Crusoe is recognized and supported, as are
i386-compatible processors from Cyrix and NexGen.

There is a wide variety of motherboards available for this architecture. Motherboards
using the ISA, VLB, EISA, AGP, and PCI expansion busses are well-supported. There is some
limited support for the MCA (“MicroChannel”) expansion bus used in the IBM
PS/2 line of PCs.

Symmetric multi-processor (SMP) systems are generally supported by FreeBSD, although
in some cases, BIOS or motherboard bugs may generate some problems. Perusal of the
archives of the FreeBSD symmetric multiprocessing mailing list may yield some
clues.

FreeBSD will take advantage of HyperThreading (HTT) support on Intel CPUs that support this feature. A kernel with the options SMP feature enabled will automatically detect the
additional logical processors. The default FreeBSD scheduler treats the logical
processors the same as additional physical processors; in other words, no attempt is made
to optimize scheduling decisions given the shared resources between logical processors
within the same CPU. Because this naive scheduling can result in suboptimal performance,
under certain circumstances it may be useful to disable the logical processors with the
the machdep.hlt_logical_cpus sysctl variable. It is also
possible to halt any CPU in the idle loop with the machdep.hlt_cpus sysctl variable. The smp(4) manual
page has more details.

FreeBSD will take advantage of Physical Address Extensions (PAE) support on CPUs that
support this feature. A kernel with the PAE feature enabled will
detect memory above 4 gigabytes and allow it to be used by the system. This feature
places constraints on the device drivers and other features of FreeBSD which may be used;
consult the pae(4) manpage
for more details.

FreeBSD will generally run on i386-based laptops, albeit with varying levels of
support for certain hardware features such as sound, graphics, power management, and
PCCARD expansion slots. These features tend to vary in idiosyncratic ways between
machines, and frequently require special-case support in FreeBSD to work around hardware
bugs or other oddities. When in doubt, a search of the archives of the FreeBSD
laptop computer mailing list may be useful.

Most modern laptops (as well as many desktops) use the Advanced Configuration and
Power Management (ACPI) standard. FreeBSD supports ACPI via the ACPI Component
Architecture reference implementation from Intel, as
described in the acpi(4) manual
page. The use of ACPI causes instabilities on some machines and it may be necessary to
disable the ACPI driver, which is normally loaded via a kernel module. This may be
accomplished by adding the following line to /boot/device.hints:

hint.acpi.0.disabled="1"

Users debugging ACPI-related problems may find it useful to disable portions of the
ACPI functionality. The acpi(4) manual
page has more information on how to do this via loader tunables.

ACPI depends on a Differentiated System Descriptor Table (DSDT) provided by each
machine's BIOS. Some machines have bad or incomplete DSDTs, which prevents ACPI from
functioning correctly. Replacement DSDTs for some machines can be found at the DSDT section of the
ACPI4Linux project Web site.
FreeBSD can use these DSDTs to override the DSDT provided by the BIOS; see the acpi(4) manual
page for more information.

Both Uniprocessor (UP) and Symmetric Multi-processor (SMP) configurations are
supported.

Most devices that can be found in or are compatible with ia64 machines are fully
supported. The notable exception is the VGA console. The FreeBSD support for VGA consoles
is at this time too much based on PC hardware and not all ia64 machines have chipsets
that provide sufficient PC legacy support. As such syscons(4) can
not be enabled and the use of a serial console is required.

NEC PC-9801/9821 series with almost all i386-compatible
processors, including 80486, Pentium, Pentium Pro, Pentium II, and
variants. All i386-compatible processors by AMD, Cyrix,
IBM, and IDT are also supported.

NEC FC-9801/9821 series, and NEC SV-98 series (both of them are compatible with
PC-9801/9821 series) should be supported.

EPSON PC-386/486/586 series, which are compatible with NEC PC-9801 series are
supported.

High-resolution mode is not supported. NEC PC-98XA/XL/RL/XL^2, and NEC PC-H98 series
are supported in normal (PC-9801 compatible) mode only.

Although there are some multi-processor systems (such as Rs20/B20), SMP-related
features of FreeBSD are not supported yet.

This section describes the systems currently known to be supported by FreeBSD on the
Fujitsu SPARC64® and Sun UltraSPARC® platforms. For background information on the
various hardware designs see the Sun System Handbook.

SMP is supported on all systems with more than 1 processor.

When using the GENERIC kernel, FreeBSD/sparc64 systems not
equipped with a framebuffer supported by the creator(4) (Sun
Creator, Sun Creator3D and Sun Elite3D) or machfb(4) (Sun
PGX and Sun PGX64 as well as the ATI Mach64 chips found onboard in for example Sun Blade™ 100, Sun Blade 150, Sun Ultra™ 5 and Sun Ultra
10) driver must use the serial console.

If you have a system that is not listed here, it may not have been tested with FreeBSD
8.1-RELEASE. We encourage you to try it and send a note to the FreeBSD
SPARC porting mailing list with your results, including which devices work and which
do not.

The following systems are fully supported by FreeBSD:

Naturetech GENIALstation 777S

Sun Blade 100

Sun Blade 150

Sun Enterprise™ 150

Sun Enterprise 220R

Sun Enterprise 250

Sun Enterprise 420R

Sun Enterprise 450

Sun Fire™ B100s (support for the on-board
NICs first appeared in 8.1-RELEASE)

Sun Fire V100

Sun Fire V120

Sun Netra™ t1 100/105

Sun Netra T1 AC200/DC200

Sun Netra t 1100

Sun Netra t 1120

Sun Netra t 1125

Sun Netra t 1400/1405

Sun Netra 120

Sun Netra X1

Sun SPARCengine® Ultra AX1105

Sun SPARCengine Ultra AXe

Sun SPARCengine Ultra AXi

Sun SPARCengine Ultra AXmp

Sun SPARCengine CP1500

Sun Ultra 1

Sun Ultra 1E

Sun Ultra 2

Sun Ultra 5

Sun Ultra 10

Sun Ultra 30

Sun Ultra 60

Sun Ultra 80

Sun Ultra 450

The following systems are partially supported by FreeBSD. In particular the fibre
channel controllers in SBus-based systems are not supported. However, it is possible to
use these with a SCSI controller supported by the esp(4) driver
(Sun ESP SCSI, Sun FAS Fast-SCSI and Sun FAS366 Fast-Wide SCSI controllers).

Sun Enterprise 3500

Sun Enterprise 4500

Starting with 7.2-RELEASE, sparc64 systems based on Sun UltraSPARC III and beyond are also supported by FreeBSD, which
includes the following known working systems:

Sun Blade 1000

Sun Blade 1500

Sun Blade 2000

Sun Blade 2500

Sun Fire 280R

Sun Fire V210

Sun Fire V215 (support first appeared in
7.3-RELEASE)

Sun Fire V250

Sun Fire V440 (support for the on-board NICs first
appeared in 8.0-RELEASE)

Sun Fire V480 (501-6780 and 501-6790 centerplanes
only, for which support first appeared in 7.3-RELEASE)

This section describes the devices currently known to be supported by FreeBSD. 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. Information on specific models of supported devices,
controllers, etc. can be found in the manual pages.

Note: The device lists in this document are being generated automatically from
FreeBSD manual pages. This means that some devices, which are supported by multiple
drivers, may appear multiple times.

[i386,ia64,amd64] The dpt(4) driver
provides support for the following RAID adapters:

DPT Smart Cache Plus

Smart Cache II (PM2?2?, PM2022 [EISA], PM2024/PM2124 [PCI]) (Gen2)

Smart RAID II (PM3?2?, PM3021, PM3222)

Smart Cache III (PM2?3?)

Smart RAID III (PM3?3?, PM3332 [EISA], PM3334UW [PCI]) (Gen3)

Smart Cache IV (PM2?4?, PM2042 [EISA], PM2044/PM2144 [PCI]) (Gen4)

Smart RAID IV

Note: [amd64, i386] Booting from these controllers is supported. EISA adapters
are not supported.

[sparc64] The esp(4) driver
provides support for the Qlogic FAS216 and FAS408 SCSI controller chips found in a wide
variety of systems and peripheral boards. This includes the Qlogic SCSI cards found in
most Sun Ultra 1e and Ultra 2 machines.

For Qlogic PCI SCSI host adapters, the isp(4) driver should be used in place of the esp(4)
driver.

[i386,amd64] The hptiop(4) driver
supports the following SAS and SATA RAID controllers:

HighPoint RocketRAID 4320

HighPoint RocketRAID 3220

HighPoint RocketRAID 3320

HighPoint RocketRAID 3410

HighPoint RocketRAID 3520

HighPoint RocketRAID 3510

HighPoint RocketRAID 3511

HighPoint RocketRAID 3521

HighPoint RocketRAID 3522

HighPoint RocketRAID 3540

HighPoint RocketRAID 3120

HighPoint RocketRAID 3122

HighPoint RocketRAID 3020

[i386,amd64] The hptmv(4) driver
supports the following ATA RAID controllers:

HighPoint's RocketRAID 182x series

[i386,amd64] The hptrr(4) driver
supports the following RAID controllers:

The Ultra 320 SCSI controller chips supported by the mpt(4) driver
can be found onboard on many systems including:

Dell PowerEdge 1750 thru 2850

IBM eServer xSeries 335

These systems also contain Integrated Raid Mirroring and Integrated Raid Mirroring
Enhanced which this driver also supports.

The SAS controller chips are also present on many new AMD/Opteron based systems, like
the Sun 4100. Note that this controller can drive both SAS and SATA drives or a mix of
them at the same time. The Integrated Raid Mirroring available for these controllers is
poorly supported at best.

The Fibre Channel controller chipset are supported by a broad variety of speeds and
systems. The Apple Fibre Channel HBA is in fact the FC949ES card.

This driver also supports target mode for Fibre Channel cards. This support may be
enabled by setting the desired role of the core via the LSI Logic firmware utility that
establishes what roles the card can take on - no separate compilation is required.

[i386,pc98,amd64] The ncr(4) driver
provides support for the following NCR/Symbios SCSI controller chips:

53C810

53C810A

53C815

53C820

53C825A

53C860

53C875

53C875J

53C885

53C895

53C895A

53C896

53C1510D

The following add-on boards are known to be supported:

I-O DATA SC-98/PCI (PC-98)

I-O DATA SC-PCI (PC-98)

[i386,pc98] The following devices are currently supported by the ncv(4)
driver:

With all supported SCSI controllers, full support is provided for SCSI-I, SCSI-II, and
SCSI-III peripherals, including hard disks, optical disks, tape drives (including DAT,
8mm Exabyte, Mammoth, and DLT), medium changers, processor target devices and CD-ROM
drives. WORM devices that support CD-ROM commands are supported for read-only access by
the CD-ROM drivers (such as cd(4)).
WORM/CD-R/CD-RW writing support is provided by cdrecord(1), which is
a part of the sysutils/cdrtools port in the Ports Collection.

The Farallon EtherWave and EtherMac card came in two varieties. The ep(4) driver
supports the 595 and 895 cards. These cards have the blue arrow on the front along with a
3Com logo. The Farallon 595a cards, which have a red arrow on the front, are also called
EtherWave and EtherMac. They are supported by the sn(4) driver.

[amd64, i386, ia64, pc98] A range of USB peripherals are supported; devices known to
work are listed in this section. Owing to the generic nature of most USB devices, with
some exceptions any device of a given class will be supported, even if not explicitly
listed here.