This section provides some architecture-specific information about the specific processors and systems that are supported by each architecture.
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.
As of this writing, the following processors are supported:
AMD Athlon™64 (“Clawhammer”).
AMD Opteron™ (“Sledgehammer”).
All multi-core Intel Xeon™ processors except Sossaman have EM64T support.
The single-core Intel Xeon processors “Nocona”, “Irwindale”, “Potomac”, and “Cranford” have EM64T support.
All Intel Core 2 (not Core Duo) and later processors
All Intel Pentium® D processors
Intel Pentium 4s and Celeron Ds using the “Cedar Mill” core have EM64T support.
Some Intel Pentium 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 32GB. 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.
Currently supported processors are the Itanium® and the Itanium 2.
Supported chipsets include:
HP zx1
Intel 460GX
Intel E8870
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.
PC-9801/9821 standard bus (called C-Bus), PC-9801NOTE expansion bus (110pin), and PCI bus are supported. New Extend Standard Architecture (NESA) bus (used in PC-H98, SV-H98, and FC-H98 series) is not supported.
The information for this paragraph has yet to be compiled.
This section describes the systems currently known to be supported by FreeBSD on the UltraSPARC® platform. For background information on the various hardware designs see the Sun System Handbook.
SMP is supported on all systems with more than 1 processor.
In general, FreeBSD/sparc64 systems must use serial consoles. While it is possible to boot or install a system using the OpenFirmware console, the console device is not usable.
If you have a system that is not listed here, it may not have been tested with FreeBSD 7.1-STABLE. 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.
Sun Blade™ 100
Sun Blade 150
Sun Enterprise™ 220R
Sun Enterprise 250
Sun Enterprise 420R
Sun Enterprise 450
Sun Fire™ V100
Sun Fire V120
Netra™ t1 105
Netra T1 AC200/DC200
Netra t 1100
Netra t 1120
Netra t 1125
Netra t 1400/1405
Netra 120
Netra X1
SPARCEngine® Ultra AXi
SPARCEngine Ultra AXmp
Sun Ultra™ 1
Sun Ultra 1E
Sun Ultra 2
Sun Ultra 5
Sun Ultra 10
Sun Ultra 30
Sun Ultra 60
Sun Ultra 80
The following systems are partially supported by FreeBSD. In particular the onboard SCSI controller in sbus systems is not supported.
Sun Enterprise 3500
Sun Enterprise 4500
The following systems are not supported by FreeBSD. This may be due to lack of processor support (UltraSPARC III), due to a quirk in the system design that makes FreeBSD unstable, or due to lack of support for sufficient onboard devices to make FreeBSD generally useful.
All systems containing UltraSPARC III processor(s).
This file, and other release-related documents, can be downloaded from http://www.FreeBSD.org/snapshots/.
For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
All users of FreeBSD 7-STABLE should subscribe to the <stable@FreeBSD.org> mailing list.
For questions about this documentation, e-mail <doc@FreeBSD.org>.