Re: 32-bit HIGHMEM and game console downstreams

Segher Boessenkool
2025-09-14T14:14:58Z

Hi!

On Sat, Sep 13, 2025 at 08:53:08PM +1000, Ash Logan wrote:
> Wii (2006)
> - 1x PowerPC 750CL "Broadway" @ 729MHz
> - 24MB "MEM1" + 64MB "MEM2" (non-contiguous - MEM2 starts 256MiB in)
> - Kernel 4.19 (+ CIP patchset), dev has been working on forward-porting all
> the drivers one major version at a time (he's currently up to 5.15 last I
> checked) + limited upstream support (hardware bringup, UART, not many
> peripherals)

There *aren't* many peripherals, so that is quite okay :-)

> Wii U (2012)
> - 3x PowerPC 750CL "Espresso" @ 1.2GHz

It is not a 750CL. We never found out what the model # is, if indeed it
has one! But the CPU cores are compatible to the Broadway, sure, there
even are configuration bits to make it do the bugs that were fixed in
Espresso! (Just like Broadway can emulate a Gekko, 750CXe, the GCN
thing).

It does have its own PVR value of course, that is something at least :-)

(Espresso is one chip btw, with three mostly symmetrical cores).

> - 32MB "MEM1" + 2GB "MEM2" (also starts 256MiB in) + various small SRAMs

It has 32MB MEM1? Huh. Why?

> Special mention to the GameCube, basically a slower Wii with only 24MB
> direct RAM and 16MB of non-mapped "ARAM". Wii Linux has experimental support
> for this where they use the ARAM as swap.

The main memory on the GCN was very fast, low-latency, ram. "1T-SRAM",
named so because it isn't SRAM, and not really single cycle access
either :-)

There is a block of it for graphics, too. No idea where that is direct-
mapped, if at all.

> There is a somewhat active userbase for both devices.

Still? Nice to hear!

> I only have stats for
> the Wii U side, but some rough nginx grepping for the last few days - Sep
> 7th-Sep 12th - shows 39 downloads of distribution tarballs and bootloader
> binaries in that period, not including torrents. In the past 2 weeks - Aug
> 29th-Sep 12th - 9 people joined the community Discord, 442 total.
> Anecdotally, the Wii Linux userbase appears at least twice as big (based on
> their Discord activity).

That makes sense, there are way more Wii devices than WiiU devices, but
the latter is newer and somewhat nicer (bigger) to run Linux on.

> Distribution-wise, we're supported by ArchPOWER [5], Adélie Linux [6], and
> other distros. The Wii U's Espresso has CPU errata requiring a patched
> compiler,

Can you remind me what that is about? It shouldn't be too hard to
include it in mainline GCC.

> and both distributions ship separate package repos for this CPU.
> ArchPOWER requested I rebase onto 6.6 so they could have firmware
> compression - previously the Wii U was on 4.19 - so there is some demand for
> newer kernel features as well.
>
> I know I'm talking about hobbyist use - and mostly downstream use at that -
> and I do suspect that in the event of a wider 32-bit deprecation we'd be
> fine on the final LTS, whatever that ends up being. Still, I think the Wii
> and Wii U represent a decent number of 32-bit users, so I wanted to add to
> the conversation here.

Hey, at least you hobbyists are responsive!

I don't see any real reason to no longer support 32-bit systems in
Linux -- all of the ways where that needs different treatment have been
figured out decades ago already, and perhaps not too many people still
use it, but for some architectures it is the only option and that will
never change. Not all of the world is x86. Even with Arm there are
many 32-bit only systems in the wild, some pretty new even!

Segher