Page MenuHomeFreeBSD

powerpc: Update CPUTYPE options in make.conf
ClosedPublic

Authored by ivy on Dec 16 2025, 4:24 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jan 16, 6:09 AM
Unknown Object (File)
Thu, Jan 15, 10:07 AM
Unknown Object (File)
Thu, Jan 15, 7:34 AM
Unknown Object (File)
Tue, Jan 13, 9:36 PM
Unknown Object (File)
Sat, Jan 10, 5:36 AM
Unknown Object (File)
Fri, Jan 9, 7:21 PM
Unknown Object (File)
Thu, Jan 8, 3:38 PM
Unknown Object (File)
Tue, Jan 6, 7:03 PM

Details

Summary

Document the supported PPC/POWER CPUTYPEs in the example make.conf.

Update bsd.cpu.mk to handle CPUs newer than POWER9, and remove
32-bit CPUTYPEs since we no longer support those at all.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ivy requested review of this revision.Dec 16 2025, 4:24 PM

Isn't make.conf also read for userspace builds and ports? I think we still support 32-bit userland. Would there be a corresponding change to remove the i386 bits as well?

has the 32 bit ppc kernel code gone away yet?

Isn't make.conf also read for userspace builds and ports? I think we still support 32-bit userland. Would there be a corresponding change to remove the i386 bits as well?

my understanding is that CPUTYPE is orthogonal to word length and specifies the physical CPU type, since it controls things like instruction scheduling. since we only boot on 64-bit CPUs, there's no reason to ever specify a 32-bit-only CPU in CPUTYPE: when compiling a 32-bit application on a PPC970, you would use cc -m32 -mcpu=970, which will generate 32-bit code even though the 970 is a 64-bit CPU.

so we should probably remove i486 as well, yes.

has the 32 bit ppc kernel code gone away yet?

no, but it is no longer supported, so we don't need to support it. it would be different if it had been downgraded to tier 3 rather than becoming entirely unsupported.

This revision is now accepted and ready to land.Sun, Dec 28, 5:24 AM
This revision was automatically updated to reflect the committed changes.
@ivy wrote:

no, but it is no longer supported, so we don't need to support it. it would be different if it had been downgraded to tier 3 rather than becoming entirely unsupported.

Admittedly, I don't see much difference between being demoted to T3 vs. unsupported, although it's another topic. I think we could retain 32-bit PPC support due to mass production of good quality Apple G4 hardware which is scattered around the world and is still useful as a backup boxen, NAS, etc. Another reason to keep it around: different endianness, char signness, 32-bitness force one to write well-typed, correct, sound code. And it's not affected by Y2038 problem, i.e. uses 64-bit time_t.

this might be a better question for arch@, but at least to me, it doesn't make sense to keep code for removed architectures in the tree: either it will bitrot and stop working (in which case there's no point having it) or it will create effort to maintain it even though we don't support it.

iff there is some sort of consensus to keep the 32-bit bits around, i wouldn't object to someone reverting that part of this commit.