Re: Future of armv7

John Baldwin <[email protected]> Wed, 19 Nov 2025 15:11:35 -0500
Newsgroups gmane.os.freebsd.architechture
Message-ID <[email protected]>
On 11/17/25 10:21, Tomek CEDRO wrote:
> On Fri, Nov 14, 2025 at 6:09 PM John Baldwin <[email protected]> wrote:
>>
>> Two and a half years ago when we first began talking about deprecating
>> 32-bit architectures in 15.0, we decided to keep armv7 for at least
>> the stable/15 branch but did not commit to anything beyond that.  Now
>> that 15.0 is close to shipping and we are turning our development
>> focus to 16.0, we should figure out what we want to say about armv7
>> for 16.x in the 15.0 release notes so that users have suitable notice.
>>
>> In particular, do we want to deprecate armv7 in 16.0 (similar to the
>> state of 32-bit powerpc in 15.0), or do we want to keep it?
>>
>> My initial suggestion is that we announce that we plan to deprecate it
>> in 16.0.  In that case, I would also suggest that we follow a similar
>> process of keeping armv7 for most of the lifetime of 16.0 so that we
>> can reneg if need be during the 16.0 cycle.
>>
>> What do other folks think?
>>
>> --
>> John Baldwin
> 
> Short answer: I would keep older ARM code (do not delete) even if
> "unsupported" so people can use it, but energy and focus should go to
> modern CPU/SBC support.
> 
> Long answer:
> 
> If there are no developers available to maintain armv7 then it can be
> marked as "no support" or "tier 3" or something like that. But I would
> not delete any code so people interested may still build, fix and make
> things work!! I still have whole bunch of the older boards and if I
> ever want to run anything on them that would be NuttX or FreeBSD. I
> also understand focus on modern SBC which I support because these
> computers are more available very cheap and amazing computing power vs
> energy use, details below :-)

So code is never deleted forever, it is always present in git history.
Thus, leaving the code in the tree and just never changing it isn't
really useful compared to removing it.  Leaving the code in the tree
but not as read-only incurs costs as other developers have to make
changes to the code.  For example, it turns out I made the 2nd most
commits to sys/arm during the 15.0 cycle on main even though all of my
commits were related to updating various ARM-specific device drivers
for API changes made for new-bus and not anything specific to ARM itself.

(Speaking of powerpc, I was the most active committer for that tree and
those were also all just trying to keep up with API changes.)

Contrast that with the activity for arm64 and amd64:

> git log --format="%ae" 712806fc4b5470eb7d9ce537e3cdf3b386455d86..3aa0a0aaa23b95dbf0ef58b16b313637f515b460 -- sys/arm | sort | uniq -c | sort -n | tail -10
    5 [email protected]
    5 [email protected]
    6 [email protected]
    7 [email protected]
   15 [email protected]
   18 [email protected]
   20 [email protected]
   24 [email protected]
   36 [email protected]
   39 [email protected]

> git log --format="%ae" 712806fc4b5470eb7d9ce537e3cdf3b386455d86..3aa0a0aaa23b95dbf0ef58b16b313637f515b460 -- sys/arm64 | sort | uniq -c | sort -n | tail -10
   10 [email protected]
   11 [email protected]
   17 [email protected]
   20 [email protected]
   25 [email protected]
   27 [email protected]
   27 [email protected]
   30 [email protected]
   42 [email protected]
  229 [email protected]

> git log --format="%ae" 712806fc4b5470eb7d9ce537e3cdf3b386455d86..3aa0a0aaa23b95dbf0ef58b16b313637f515b460 -- sys/powerpc/ | sort | uniq -c | sort -n | tail -10
    4 [email protected]
    4 [email protected]
    4 [email protected]
    5 [email protected]
    7 [email protected]
    7 [email protected]
   10 [email protected]
   13 [email protected]
   15 [email protected]
   26 [email protected]

> git log --format="%ae" 712806fc4b5470eb7d9ce537e3cdf3b386455d86..3aa0a0aaa23b95dbf0ef58b16b313637f515b460 -- sys/amd64 sys/x86 | sort | uniq -c | sort -n | tail -10
   11 [email protected]
   12 [email protected]
   12 [email protected]
   14 [email protected]
   16 [email protected]
   16 [email protected]
   17 [email protected]
   45 [email protected]
   49 [email protected]
  157 [email protected]

> git log --format="%ae" 712806fc4b5470eb7d9ce537e3cdf3b386455d86..3aa0a0aaa23b95dbf0ef58b16b313637f515b460 -- sys/riscv | sort | uniq -c | sort -n | tail -10    6 [email protected]
    6 [email protected]
    6 [email protected]
    9 [email protected]
    9 [email protected]
   10 [email protected]
   19 [email protected]
   21 [email protected]
   23 [email protected]
   61 [email protected]

-- 
John Baldwin