On 15/9/25 00:14, Segher Boessenkool wrote:

Hello!

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 :-)

That's true. The lack of a UART or similar does make USB kinda essential for an input device in my opinion, though getting it working is Complicated for DMA reasons. (I think this is the main thing holding the downstream back in their rebasing efforts)

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).

Yeah, I was just going for the closest "public" chip :) I think the PVR is closer to the CXe too, but all the HIDs, missing THRM, missing frequency scaling - it's very CL-y...

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

It has 32MB MEM1?  Huh.  Why?

New generation upgrade? MEM1 does get used for Wii U software too, usually to keep framebuffers and other 3D things, so I guess they wanted just a little more for all the 1080p buffers the new console juggles.

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.

The short version is "every stwcx. should be prefaced with a dcbst" - something to do with bus snooping (store-with-flush, store-with-kill) I'd guess. I have some GCC patches drafted (activated by -mcpu=espresso) here: https://gitlab.com/linux-wiiu/smp-patches

I'm impressed by how often IBM stuffed up atomics during this generation. The Xbox 360 has an extremely similar issue despite being an entirely different lineage of chip. No surprise the console vendors all went to x86 and ARM right after, I suppose.

Thanks,
Ash

Reply via email to