Re: Future of 32-bit platforms (including i386)

From: Charlie Li <vishwin_at_freebsd.org>
Date: Wed, 24 May 2023 03:59:09 UTC
Tomek CEDRO wrote:
> On Wed, May 24, 2023 at 1:47 AM John Baldwin wrote:
>> On 4/27/23 10:19 AM, John Baldwin wrote:
>>> For 13.0, i386 was demoted from Tier 1 to Tier 2.  In the announcement
>>> of this for 13.0, the project committed to an update on i386's future
>>> around the time of 14.0.  The announcement at the time suggested that
>>> i386 would be supported less in 14.x than in 13.x.
>>>
>>> My proposal is that for 14.x we treat i386 like any other Tier 2
>>> platform.  That is, release images and packages would only be provided
>>> on a best-effort basis, and we would not guarantee providing them.  I
>>> think we should also stop shipping binary updates for the base system
>>> (freebsd-update) for 14.x for i386.
>>>
>>> A larger question is what to do about 32-bit platforms moving forward.
>>> My proposal for powerpc, i386, and armv[67] is that we say publicly
>>> that we anticipate not supporting them in 15.  That is, that we may
>>> remove them outright from the tree, or we may leave them in the tree,
>>> but we do not plan on building packages or release images.  Another
>>> option to consider for 32-bit platforms perhaps in 15 is to remove
>>> kernel support and only retain the ability to build userland.  The
>>> goal of saying this now-ish (or about the time 14.0 is going to ship)
>>> would be to give time for users and developers to respond in the
>>> window between 14.0 and 15.0 so we can evaluate those responses as an
>>> input into the final decision for 15.
>>
>> We discussed this topic during the 15.0 developer summit and the consensus
>> among the folks present (which is only a subset of our community), is
>> that there is still interest in supporting armv7 kernels in 15.0, but not
>> kernels for other platforms.  In addition, no one expressed a need for
>> full 32-bit world support for i386 and powerpc, only for compat32 support
>> in the kernel, and lib32 (cc -m32) support in userland.
>>
>> One question for this is if we think we will have sufficient developer
>> resources to maintain armv7 kernels for the life of stable/15.  We can
>> largely punt on the final decision for that until close to the release of
>> 15.0.  I think for what we announce for 14.0 we can still say that we
>> are generally planning to remove 32-bit kernel and world support in 15.0,
>> but may consider keeping armv7.
> 
> I always think in terms of "Zombie Apocalypse"^TM on what to get
> myself into.. if its not going to work in that kind of situation then
> its not worth the time :-) :-)
> 
> Will "lack of support" mean no binaries provided or removal of the
> source code so FreeBSD is non-existent anymore on those platforms?
> 
Both. The actual code would be removed, as there exists a 
not-insignificant cost on development of contemporary platform support 
(needing to keep i386 around significantly hinders amd64 development, 
for instance).

I had a much longer passage on this subject that was slated to be 
written and posted here prior to the devsummit, but the tl;dr was 
understood at the devsummit. Basically, the proposed general removal of 
32-bit support is unfortunate but probably technically necessary. 
Investigations of certain use cases, like Wine, will need to happen to 
see how much 32-bit userland support need to remain whilst running on 
64-bit kernel. There continue to exist production armv7 boards that 
enjoy long-term support, so removing kernel support would not only be a 
bad idea, but those who need that support the most are the least 
equipped to help on our end (unless some individuals can be nudged to 
learn).

-- 
Charlie Li
…nope, still don't have an exit line.