Bug 280932

Summary: powerpc: please retain support for 32-bit systems
Product: Base System Reporter: Sergey Fedorov <vital.had>
Component: powerpcAssignee: FreeBSD Core Team <core>
Status: New ---    
Severity: Affects Some People CC: alfredo, cy, emaste, grahamperrin, jhb, kbowling, pkubaj, vvd
Priority: ---    
Version: 15.0-CURRENT   
Hardware: powerpc   
OS: Any   

Description Sergey Fedorov 2024-08-19 19:47:40 UTC
I have noticed in the release noted of FreeBSD 14 that 32-bit support is planned to be dropped.
Please consider retaining support for 32-bit PowerPC. This hardware is still actively used.
Comment 1 Vladimir Druzenko freebsd_committer freebsd_triage 2024-08-19 21:17:53 UTC
It will be supported at least till November 30, 2028 - EoL of stable/14: https://www.freebsd.org/security/#sup
It's more than 4 years.
Comment 2 Sergey Fedorov 2024-08-19 21:24:10 UTC
(In reply to Vladimir Druzenko from comment #1)

I meant do not remove it from v. 15. (Sorry, it was not clear from my post.)
Comment 3 Piotr Kubaj freebsd_committer freebsd_triage 2024-08-20 11:53:54 UTC
Do not assign it to freebsd-ppc@ - we have nothing to say about it. This is a political decision because developers are too lazy to test things on 32-bits. Assigning to core@ who is actually responsible for that.
Comment 4 Piotr Kubaj freebsd_committer freebsd_triage 2024-08-20 11:54:52 UTC
Also note that it's not only powerpc that is getting removed. armv6 has already been removed and there is i386 and powerpcspe still waiting. I'm not sure about armv7's status.
Comment 5 Ed Maste freebsd_committer freebsd_triage 2024-08-20 20:35:39 UTC
(In reply to Piotr Kubaj from comment #4)
I'm not on the current core team, but was a member of the core team when this was published. jhb's email was explicit about the future of the 32-bit platforms:

> We anticipate FreeBSD 15.0 will not include the armv6,
> i386, and powerpc platforms, and FreeBSD 16.0 will not include armv7.

also,

> Support for individual 32-bit platforms may be
> extended if there is both demand and commitment to increased developer
> resources.
Comment 6 Alfredo Dal'Ava Junior freebsd_committer freebsd_triage 2024-10-16 03:05:31 UTC
(In reply to Sergey Fedorov from comment #2)

For the powerpc 32 bit users I recommend keep reporting issues, provide patches (when possible) and help on testing as there aren't many developers with a 32 bit powerpc aroun for testing.
Comment 7 John Baldwin freebsd_committer freebsd_triage 2024-11-01 18:58:33 UTC
To be clear, the decision about which platforms to support hinges on several things.  One is the level of user activity.  This can be hard to judge as there isn't really clear user data here.  One bit of data we do have on that front is the results from our most recent user survey where we asked users which architectures they plan to use in the next year.  You can see the result of that on page 10 of the raw results here: https://freebsdfoundation.org/wp-content/uploads/2024/05/2024_comsurv_rawdata.pdf

Another important component of these decisions is the activity of developers on a given architecture.  Many changes in FreeBSD impact more than one architecture.  Developers making those changes may not be familiar with all architectures, and require support from developers who are if they run into issues.  This is true of things like toolchain version updates, updating components in ports that have many dependencies, or API changes in the kernel.  We do expect developers making those changes to not leave architectures broken (e.g. not building), but they also need resources to test and debug issues on each architecture.  These resources include things like viable test environments, whether that is remotely accessible machines or working emulators, and other developers they can talk to with questions, or to seek review.

On the question of 32-bit platforms in general, these platforms are generally being retired in the industry at large.  New system designs that are relevant to FreeBSD (e.g. using an MMU) are using 64-bit CPUs rather than 32-bit.  That trend has been true for several years and will continue.

In the case of 32-bit powerpc, it has some unique quirks even relative to i386.  For example, 32-bit powerpc includes a unique pmap implementation that uses an older style of tracking PV entries that is unlike that of every other pmap in the system.
FreeBSD's CI system does not perform runtime tests (that is, running the kyua tests in /usr/tests) for 32-bit powerpc because QEMU does not apparently work well enough out of the box to run these tests (every other architecture including i386 and powerpc64 is able to run these tests in CI).

As Ed noted in comment 5, the project is open to changing what ships in 15.0 still (i386 and 32-bit powerpc are still connected to the build in main and still enabled in CI), but the feedback received to date for these platforms has not changed the tradeoff of the cost of supporting these architectures vs the demand and developer support.  For armv7 we did receive substantial feedback and have committed to keep armv7 for at least 15.x, but we have not received the same for i386 and 32-bit powerpc.