Future of 32-bit platform support in FreeBSD

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 12 Feb 2024 17:12:17 UTC
FreeBSD is deprecating 32-bit platforms over the next couple of major
releases.  We anticipate FreeBSD 15.0 will not include the armv6,
i386, and powerpc platforms, and FreeBSD 16.0 will not include armv7.
Support for executing 32-bit binaries on 64-bit kernels will be
retained through at least the lifetime of the stable/16 branch if not
longer.  (There is currently no plan to remove support for 32-bit
binaries on 64-bit kernels.)

More background:

Since its inception, FreeBSD has aimed to provide a stable and
performant general-purpose BSD-based operating system for modern and
widely-available systems.  Initially this took the form of focusing on
the i386 architecture.  Over time FreeBSD has added and removed
support for various architectures based on changes in the marketplace
(in some cases, anticipated changes in the marketplace).

The decision to remove support for an architecture in particular
depends on a couple of factors including both the future viability and
availability of systems using that architecture as well as the
developer resources available in the project to continue maintaining
support.  In addition, some changes and features may require explicit
support on each architecture.  Architectures that are less
well-maintained can degrade into a tax on such changes delaying their
implementation on architectures with stronger support.

Looking forward, general purpose 32-bit platforms are in a state of
decline in the marketplace (some more quickly than others), and we
have a shrinking pool of developers dedicated to supporting them.  Of
our existing 32-bit platforms today (i386, armv[67], powerpc), only
armv7 continues to be used in recent system designs.  We feel that
FreeBSD will be better served by narrowing the focus of our developer
resources on 64-bit systems moving forward.  This includes both
deprecating existing 32-bit platforms and not adding new 32-bit
platforms (e.g., FreeBSD does not plan to add a 32-bit RISC-V
architecture).  Support for individual 32-bit platforms may be
extended if there is both demand and commitment to increased developer
resources.

More details on the current plans for the future of 32-bit platforms
can be found in the "General Notes Regarding Future FreeBSD Releases"
section of the 14.0 release notes at
https://www.freebsd.org/releases/14.0R/relnotes/

On behalf of the FreeBSD Core Team,

-- 
John Baldwin