Simplify and update the hardware notes for x86 architectures.

- amd64 is no longer a new thing and is now the largest-used FreeBSD platform,
  so make its description self-contained and not dependent on i386.

- Use a single list of all the other names for amd64 and add x86-64 as the
  first alias in the list.

- Mention multi-core and SMT (not just SMP) for amd64.  Also note that amd64
  requires ACPI and supports booting from both UEFI and legacy BIOS.

- Note that FreeBSD/amd64 runs on laptops and desktops.

- Remove outdated lists of processors.  Instead, simply claim that
  amd64 runs on all Intel and AMD 64-bit x86 CPUs. Similarly, simplify
  the list for i386 to just require an FPU and CMPXCHG.  Add VIA to the
  vendors for i386.

- For i386, trim language about SMP.  It's not that novel and the smp@ list is
  not a useful reference.  Do mention multi-core and SMT.

- Only claim that i386 motherboards with PCI are well-supported.  Clarify
  that there is limited support for AGP and ISA and that ISA support really
  means LPC support.  Remove EISA, VLB, and MCA which are all either removed or
  barely present.

- Don't mention PCCARD for i386 laptops.

- Simplify language about ACPI for i386.

- Note that i386 only boots via BIOS and doesn't support booting via UEFI.

Reviewed by:	imp, gjb (earlier version), emaste
Differential Revision:	https://reviews.freebsd.org/D28720
This commit is contained in:
John Baldwin 2021-02-18 09:35:40 -08:00
parent 2493b1853a
commit f0b982a026

View file

@ -26,59 +26,40 @@ This section provides some architecture-specific information about the specific
[[proc-amd64]]
=== amd64
Since mid-2003 FreeBSD/amd64 has supported the AMD64 ("Hammer") and Intel(R) 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.
FreeBSD/amd64 supports the 64-bit x86 architecture and runs on a wide variety of machines. It is a Tier-1 platform (fully supported architecture), which is expected to be Production Quality with respects to all aspects of the FreeBSD operating system, including installation and development environments. 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.
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 supports them both.
All 64-bit x86 processors are supported including AMD64 CPUs from AMD and Intel(R) 64 CPUs from Intel including Xeon and Core processors. FreeBSD/amd64 supports multi-core and SMT (Symmetric MultiThreading, also known as HyperThreading on Intel(R) CPUs) processors.
As of this writing, the following processors are supported:
Note that there are various names for this architecture including x86-64, AMD64, Intel EM64T, and IA-32e.
* AMD Athlon(TM)64 ("Clawhammer").
* AMD Opteron(TM) ("Sledgehammer").
* AMD Sempron(TM).
* AMD Turion(TM).
* AMD Phenom(TM).
* All multi-core Intel(R) Xeon(TM) processors except Sossaman have EM64T support.
* The single-core Intel(R) Xeon(TM) processors "Nocona", "Irwindale", "Potomac", and "Cranford" have EM64T support.
* All Intel(R) Core(TM) 2 (not Core(TM) Duo) and later processors
* All Intel(R) Core(TM) i range of processors
* All Intel(R) Pentium(R) D processors
* All Intel(R) Centrino(R) Duo and Centrino(R) Pro platforms
* Intel(R) Pentium(R) 4s and Celeron(R) Ds using the "Cedar Mill" core have EM64T support.
* Some Intel(R) Pentium(R) 4s and Celeron(R) Ds using the "Prescott" core have EM64T support. See the http://processorfinder.intel.com[Intel Processor Spec Finder] for the definitive answer about EM64T support in Intel processors.
FreeBSD/amd64 requires Advanced Configuration and Power Management (ACPI) support. ACPI is supported by the ACPI Component Architecture reference implementation from Intel(R), as described in the {{< manpage "acpi" "4">}} manual page.
Intel(R) EM64T is an extended version of IA-32 (x86) and different from Intel(R) IA-64 (Itanium) architecture. Some of Intel(R)'s old documentation refers to Intel(R) EM64T as "64-bit extension technology" or "IA-32e".
FreeBSD/amd64 can boot on systems using both UEFI and legacy BIOS.
Both Uniprocessor (UP) and Symmetric Multi-processor (SMP) configurations are supported.
In many respects, FreeBSD/amd64 is similar to FreeBSD/i386, in terms of drivers supported. Generally, drivers that already function correctly on other 64-bit platforms should work.
FreeBSD will generally run on amd64-based laptops, desktops, and servers.
Support for certain hardware features such as sound, graphics, wireless, and power management may vary
depending on the specific hardware devices in use.
[[proc-i386]]
=== i386
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.
FreeBSD/i386 supports the 32-bit x86 architecture and runs on a wide variety of "IBM PC compatible" machines. As with FreeBSD/amd64, it is impossible to exhaustively list all combinations of equipment supported by FreeBSD, but some general guidelines are presented here.
Almost all i386(TM)-compatible processors with a floating point unit are supported. All Intel(R) processors beginning with the 80486 are supported, including the 80486, Pentium(R), Pentium(R) Pro, Pentium(R) II, Pentium(R) III, Pentium(R) 4, and variants thereof, such as the Xeon(TM) and Celeron(R) processors. All i386(TM)-compatible AMD processors are also supported, including the Am486(R), Am5x86(R), K5, AMD-K6(R) (and variants), AMD Athlon(TM) (including Athlon-MP, Athlon-XP, Athlon-4, and Athlon Thunderbird), and Duron(TM) processors. The AMD Élan SC520 embedded processor is supported. The Transmeta Crusoe is recognized and supported, as are i386(TM)-compatible processors from Cyrix and NexGen.
All 32-bit x86 compatible processors with a floating point unit and support for the CMPXCHG instruction (introduced in the 80486) are supported. This includes the Pentium(R) families of processors from Intel as well as x86-compatible processors from AMD, Cyrix, NexGen, and VIA.
There is a wide variety of motherboards available for this architecture. Motherboards using the ISA, VLB, EISA, AGP, and PCI expansion buses are well-supported. There is some limited support for the MCA ("MicroChannel") expansion bus used in the IBM PS/2 line of PCs.
There are a wide variety of motherboards available for this architecture. Motherboards using PCI expansion buses are well-supported. There is limited support for AGP devices, and ISA support is primarily focused on legacy devices emulated in LPC bridges on modern PCI systems.
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 A.SMP may yield some clues.
FreeBSD will take advantage of SMT (Symmetric MultiThreading, also known as HyperThreading on Intel(R) CPUs) on the supported CPUs. The `GENERIC` kernel which is installed by default will automatically detect the additional logical processors. The default FreeBSD scheduler recognizes processor topology on the system and selects logical and physical processors to obtain optimal performance. The {{< manpage "smp" "4">}} manual page has more details.
Symmetric multi-processor (SMP) systems are generally supported including multi-core and SMT.
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 {{< manpage "pae" "4">}} manual page 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.
FreeBSD will generally run on i386-based laptops, desktops, and servers.
Support for certain hardware features such as sound, graphics, wireless, and power management may vary
depending on the specific hardware devices in use.
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(R), as described in the {{< manpage "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`:
FreeBSD/i386 supports ACPI which is used by modern machines, but is also able to boot on older systems without ACPI support.
[.programlisting]
....
hint.acpi.0.disabled="1"
....
Users debugging ACPI-related problems may find it useful to disable portions of the ACPI functionality. The {{< manpage "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 http://acpi.sourceforge.net/dsdt/index.php[DSDT] section of the http://acpi.sourceforge.net/[ACPI4Linux] project Web site. FreeBSD can use these DSDTs to override the DSDT provided by the BIOS; see the {{< manpage "acpi" "4">}} manual page for more information.
FreeBSD/i386 only supports booting from systems using legacy BIOS. It cannot be booted from UEFI.
[[proc-powerpc]]
=== powerpc