diff --git a/website/archetypes/release/hardware.adoc b/website/archetypes/release/hardware.adoc --- a/website/archetypes/release/hardware.adoc +++ b/website/archetypes/release/hardware.adoc @@ -12,7 +12,7 @@ :source-highlighter: rouge :experimental: -:release: 13.0 +:release: X.0 toc::[] @@ -20,6 +20,7 @@ == Introduction This document contains the hardware compatibility notes for FreeBSD {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. [[proc]] @@ -28,89 +29,112 @@ This section provides some architecture-specific information about the specific processors and systems that are supported by each architecture. [[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. - -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. - -As of this writing, the following processors are supported: - -* 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. - -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". - -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. +=== AMD64 Architecture Support + +FreeBSD's latest release continues to offer robust support for the AMD64 architecture, ensuring exceptional performance and compatibility on modern 64-bit AMD processors. +This release incorporates optimizations and enhancements to leverage the full capabilities of AMD64-based systems, delivering improved performance across a wide range of workloads. + +The FreeBSD project remains committed to providing the latest advancements in AMD64 support. + +[[proc-arm]] +=== ARM Architecture Support + +FreeBSD features robust ARM architecture support, enhancing compatibility and performance across a diverse array of ARM-based devices. + +FreeBSD currently supports the following devices: + +Allwinner (32-bit and 64-bit), more info about the support at the link:https://wiki.freebsd.org/arm/Allwinner[Wiki page]: + +* Allwinner A10 SoC +* Allwinner A13/R8 SoC +* Allwinner A20 SoC +* Allwinner A31 & A31s SoC +* Allwinner A64 SoC +* Allwinner A83T SoC +* Allwinner H3 & H2+ SoC +* Allwinner H5 SoC +* Allwinner H6 SoC +* Cubieboard +* A10-OlinuXino-Lime +* A13-OLinuXino +* Banana Pi +* CubieBoard 2 +* Lamobo R1 +* Olimex A20 SOM +* PCDuino3 +* A64-Olinuxino +* Orange Pi PC2 +* Pine A64 +* Pine A64+ +* Pine A64+ 2GB +* Pine A64-LTS +* SOPINE +* NanoPi A64 +* BananaPi M3 +* Orange Pi +2E +* OrangePi One +* Orange Pi One Lite +* Orange Pi PC +* Orange Pi Zero +* NanoPI NEO +* OrangePi PC2 +* NanoPI K1 Plus +* Pine H64 +* Orange Pi 3 LTS + +NXP i.MX6 (32-bit), more info about the support at the link:https://wiki.freebsd.org/arm/imx6[Wiki page]: + +* Wandboard +* CuBox i +* HummingBoard + +Texas Instruments OMAP, more info about the support at the link:https://wiki.freebsd.org/arm/OMAP[Wiki page]. + +Raspberry Pi, more info about the support at the link:https://wiki.freebsd.org/arm/Raspberry%20Pi[Wiki page]: + +* Raspberry Pi 1 +* Raspberry Pi 2 +* Raspberry Pi 3 +* Raspberry Pi 4 +* Raspberry Pi Zero +* RPi Zero W + +RockChip (64-bit), more info about the support at the link:https://wiki.freebsd.org/arm/RockChip[Wiki page]: + +* RK3328 SoC +* RK3399 SoC +* NanoPC-T4 +* NanoPi R4S +* Radxa +* Pinebook Pro +* Rock64 +* RockPro64 + +Zynq 7000 SoC + +[[proc-risc-v]] +=== RISC-V Architecture Support + +RISC-V support in FreeBSD represents a significant milestone in the evolution of this open-source operating system. +FreeBSD was the first operating system to have bootable in-tree support for RISC-V, underscoring its commitment to embracing emerging hardware architectures. + +FreeBSD currently supports the following devices: + +* BeagleV +* HiFive Unleashed (SiFive FU540) +* HiFive Unmatched (SiFive FU740) +* Spike +* QEMU [[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. - -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 AMD 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. - -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. +=== i386 Architecture Support -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 link:{freebsd-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 man: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 man: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. - -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 man: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`: - -[.programlisting] -.... -hint.acpi.0.disabled="1" -.... - -Users debugging ACPI-related problems may find it useful to disable portions of the ACPI functionality. -The man: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 man:acpi[4] manual page for more information. +While FreeBSD continues to evolve and optimize for modern architectures, we are committed to maintaining support for the venerable i386 (x86) architecture in this release. +Although i386 hardware is becoming less common, FreeBSD remains a reliable and versatile choice for those who still rely on it, whether for legacy systems or specific use cases. +While some advanced features and performance improvements may be more focused on newer architectures, FreeBSD's i386 support continues to provide a stable and functional platform for a variety of computing needs, ensuring that users with older hardware can still benefit from FreeBSD's robust features and security. [[proc-powerpc]] -=== powerpc +=== PowerPC Architecture Support All Apple PowerPC machines with built-in USB are supported, as well a limited selection of non-Apple machines, including KVM on POWER7 @@ -159,13 +183,22 @@ This means that some devices, which are supported by multiple drivers, may appear multiple times. ==== +[[graphics-cards]] +=== Graphics Cards + +// TODO + +&hwlist.udl; + [[disk]] === Disk Controllers -[amd64, i386, sparc64] IDE/ATA controllers (man:ata[4] driver) +[amd64, i386] IDE/ATA controllers (man:ata[4] driver) &hwlist.aac; +&hwlist.aacraid; + &hwlist.adv; &hwlist.adw; @@ -184,6 +217,8 @@ &hwlist.arcmsr; +&hwlist.ata; + &hwlist.bt; &hwlist.ciss; @@ -204,6 +239,8 @@ &hwlist.hptmv; +&hwlist.hptnr; + &hwlist.hptrr; &hwlist.ida; @@ -228,6 +265,8 @@ &hwlist.mly; +&hwlist.mpi3mr; + &hwlist.mpr; &hwlist.mps; @@ -252,6 +291,8 @@ &hwlist.siis; +&hwlist.smartpqi; + &hwlist.stg; &hwlist.sym; @@ -282,8 +323,12 @@ &hwlist.age; +&hwlist.alc; + &hwlist.ale; +&hwlist.altera_atse; + &hwlist.aue; &hwlist.axe; @@ -312,14 +357,22 @@ &hwlist.cxgbe; +&hwlist.cxgbev; + &hwlist.dc; &hwlist.de; +&hwlist.man4.powerpc/dtsec; + &hwlist.ed; &hwlist.em; +FreeBSD kernel driver for Elastic Network Adapter (ENA) family (man:ena[4] driver) + +&hwlist.enic; + &hwlist.man4.i386/ep; Agere ET1310 Gigabit Ethernet adapters (man:et[4] driver) @@ -332,8 +385,14 @@ &hwlist.gem; +&hwlist.genet; + +Ethernet driver for Google Virtual NIC (gVNIC) (man:gve[4] driver) + &hwlist.hme; +&hwlist.igc; + &hwlist.ipheth; &hwlist.ixgbe; @@ -346,12 +405,24 @@ &hwlist.lge; +&hwlist.liquidio; + +&hwlist.mgb; + &hwlist.mlx4en; +&hwlist.mlx4ib; + &hwlist.mlx5en; +&hwlist.mlx5ib; + +&hwlist.mos; + &hwlist.msk; +&hwlist.muge; + &hwlist.mxge; &hwlist.my; @@ -364,6 +435,8 @@ &hwlist.pcn; +&hwlist.qlnxe; + &hwlist.qlxgb; &hwlist.qlxgbe; @@ -374,6 +447,8 @@ &hwlist.rl; +&hwlist.rtwn_usb; + &hwlist.rue; &hwlist.sf; @@ -398,12 +473,20 @@ &hwlist.tl; +&hwlist.man4.powerpc/tsec; + [amd64, i386] SMC 83c17x (EPIC)-based Ethernet NICs (man:tx[4] driver) &hwlist.txp; +&hwlist.u3g; + &hwlist.udav; +&hwlist.ufoma; + +&hwlist.uhso; + &hwlist.urndis; &hwlist.vge; @@ -420,13 +503,6 @@ &hwlist.xl; -[[fddi]] -=== FDDI Interfaces - -[i386] DEC DEFPA PCI (man:fpa[4] driver) - -[i386] DEC DEFEA EISA (man:fpa[4] driver) - [[wlan]] === Wireless Network Interfaces @@ -434,6 +510,8 @@ &hwlist.ath; +&hwlist.ath_hal; + &hwlist.bwi; &hwlist.bwn; @@ -541,6 +619,12 @@ &hwlist.rc; +&hwlist.uark; + +&hwlist.uchcom; + +&hwlist.ucycom; + [[sound]] === Sound Devices @@ -550,8 +634,6 @@ &hwlist.snd_atiixp; -&hwlist.man4.sparc64/snd_audiocs; - &hwlist.snd_cmi; &hwlist.snd_cs4281; @@ -627,10 +709,26 @@ [amd64, i386] USB Bluetooth adapters can be found in <> section. ==== +Altera University Program Secure Data Card IP Core (man:altera_sdcard[4] driver) + +&hwlist.atp; + +&hwlist.atopcase; + +&hwlist.man4.powerpc/abtn; + +&hwlist.man4.powerpc/akbd; + +&hwlist.man4.powerpc/ams; + &hwlist.ohci; +&hwlist.ugold; + &hwlist.uhci; +&hwlist.uipaq; + [amd64, i386] USB 2.0 controllers using the EHCI interface (man:ehci[4] driver) [amd64, i386] Hubs @@ -651,6 +749,8 @@ [amd64, i386] Mice (man:ums[4] driver) +&hwlist.rtsx; + &hwlist.ulpt; &hwlist.ubsa; @@ -661,18 +761,26 @@ &hwlist.uplcom; +&hwlist.umcs; + &hwlist.umct; [amd64, i386] Audio Devices (man:uaudio[4] driver) +&hwlist.uslcom; + &hwlist.uvisor; +&hwlist.uvscom; + +&hwlist.xhci; + [[firewire]] === IEEE 1394 (Firewire) Devices &hwlist.fwohci; -[amd64, i386, sparc64] Serial Bus Protocol 2 (SBP-2) storage devices (man:sbp[4] driver) +[amd64, i386] Serial Bus Protocol 2 (SBP-2) storage devices (man:sbp[4] driver) [[bluetooth]] === Bluetooth Devices @@ -684,6 +792,8 @@ [[crypto-accel]] === Cryptographic Accelerators +&hwlist.ccr; + &hwlist.hifn; &hwlist.safe; @@ -704,7 +814,7 @@ [NOTE] ==== -Information regarding specific video cards and compatibility with Xorg can be found at http://www.x.org/[http://www.x.org/]. +Information regarding specific video cards and compatibility with Xorg can be found at link:http://www.x.org/[http://www.x.org/]. ==== [amd64, i386] Keyboards including: @@ -723,7 +833,7 @@ [NOTE] ==== man:moused[8] has more information on using pointing devices with FreeBSD. -Information on using pointing devices with Xorg can be found at http://www.x.org/[http://www.x.org/]. +Information on using pointing devices with Xorg can be found at link:http://www.x.org/[http://www.x.org/]. ==== [amd64, i386] "PC standard" parallel ports (man:ppc[4] driver) @@ -736,4 +846,28 @@ * Panasonic KX-PH405 * SII MC-P200 -[i386] Xilinx XC6200-based reconfigurable hardware cards compatible with the HOT1 from http://www.vcc.com/[Virtual Computers] (xrpu driver). +[i386] Xilinx XC6200-based reconfigurable hardware cards compatible with the HOT1 from link:http://www.vcc.com/[Virtual Computers] (xrpu driver). + +&hwlist.ads111x; + +&hwlist.amdsbwd; + +&hwlist.at45d; + +&hwlist.gpioths; + +&hwlist.ig4; + +&hwlist.intpm; + +&hwlist.mx25l; + +&hwlist.netfpga10g_nf10bmac; + +&hwlist.ntb_hw_plx; + +&hwlist.ow_temp; + +&hwlist.sdhci; + +&hwlist.superio;