* 32-bit HIGHMEM and game console downstreams
@ 2025-09-13 10:53 Ash Logan
2025-09-13 13:52 ` Arnd Bergmann
2025-09-14 14:14 ` Segher Boessenkool
0 siblings, 2 replies; 10+ messages in thread
From: Ash Logan @ 2025-09-13 10:53 UTC (permalink / raw)
To: arnd, christophe.leroy
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
officialTechflashYT, AWilcox, Michael Ellerman
Hello!
LWN recently did a piece on 32-bit support in the kernel, and thought as
a user of 32-bit I would share my 2c. [1]
I maintain a downstream fork of 6.6 to support the Nintendo Wii U
hardware [2]. I'm also in regular contact with another doing the same
for the older Wii [3]. Linux on this era of game consoles is doing
pretty well :)
The Wii and Wii U are both 32-bit PowerPC machines with holes in their
memory map, which I think makes them interesting for this discussion.
Let me summarize the hardware and kernels involved:
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)
Wii U (2012)
- 3x PowerPC 750CL "Espresso" @ 1.2GHz
- 32MB "MEM1" + 2GB "MEM2" (also starts 256MiB in) + various small SRAMs
- Kernel 6.6 (+ LTS patchset), I also had a run at upstreaming some of
it in 2022 [4] and would eventually like to go again
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.
All of these are flatmem devices, as that's all the 32-bit PowerPC arch
supports, with the Wii U additionally enabling highmem for its 2GB of
RAM. Both devices have a small memory area (MEM1) with the "bulk" of RAM
starting at 256MiB. The Wii U in particular sounds like a candidate
system for densemem - I would like to read up more about this if I can,
I was only able to find seemingly unrelated information about CXL when
searching online.
There is a somewhat active userbase for both devices. 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).
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, 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.
Thanks,
Ash
[1] https://lwn.net/Articles/1035727/
[2] https://linux-wiiu.org/
[3] https://wii-linux.org/
[4] https://lore.kernel.org/lkml/20221119113041.284419-1-ash@heyquark.com/
[5] https://archlinuxpower.org/
[6] https://www.adelielinux.org/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-13 10:53 32-bit HIGHMEM and game console downstreams Ash Logan
@ 2025-09-13 13:52 ` Arnd Bergmann
2025-09-16 1:57 ` Ash Logan
2025-09-14 14:14 ` Segher Boessenkool
1 sibling, 1 reply; 10+ messages in thread
From: Arnd Bergmann @ 2025-09-13 13:52 UTC (permalink / raw)
To: Ash Logan, Christophe Leroy
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
officialTechflashYT, A. Wilcox, Michael Ellerman
On Sat, Sep 13, 2025, at 12:53, Ash Logan wrote:
Hi Ash,
> All of these are flatmem devices, as that's all the 32-bit PowerPC arch
> supports, with the Wii U additionally enabling highmem for its 2GB of
> RAM. Both devices have a small memory area (MEM1) with the "bulk" of RAM
> starting at 256MiB. The Wii U in particular sounds like a candidate
> system for densemem - I would like to read up more about this if I can,
> I was only able to find seemingly unrelated information about CXL when
> searching online.
I would not expect densemem to make a difference, at least if we go
with 256MB chunks (the size has not been decided, and not much code
exists in the first place).
Like most other machines, this one is probably fine with a combination
of a custom LOWMEM_SIZE setting and using zram-highmem, even if we
end up removing support for highmem page cache.
The smaller devices are probable getting problematic sooner, 96MB
in the Wii is already really tight and this only gets worse over
time.
> 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.
Just to be clear: there is no general 32-bit deprecation going on. When
I talked about phasing out 32-bit platforms over time, that is purely
going to be those that have no users left, or the few ones that are
causing more work than they are worth. E.g. The ppc405 ones got
removed recently (after many years of discussion) because they were
making ppc440 maintenance harder and had no known users.
Highmem does get in the way, but unless more -mm folks make a strong
argument in favor of removing it all, it's more likely that we'll
go with Willy's suggestion of keeping highmem on page cache (anon
and file mappings) than just keeling zram, and even that would
still work.
Arnd
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-13 10:53 32-bit HIGHMEM and game console downstreams Ash Logan
2025-09-13 13:52 ` Arnd Bergmann
@ 2025-09-14 14:14 ` Segher Boessenkool
2025-09-16 2:10 ` Ash Logan
1 sibling, 1 reply; 10+ messages in thread
From: Segher Boessenkool @ 2025-09-14 14:14 UTC (permalink / raw)
To: Ash Logan
Cc: arnd, christophe.leroy, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, officialTechflashYT, AWilcox,
Michael Ellerman
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-13 13:52 ` Arnd Bergmann
@ 2025-09-16 1:57 ` Ash Logan
2025-09-16 6:20 ` Arnd Bergmann
2025-09-16 16:58 ` Segher Boessenkool
0 siblings, 2 replies; 10+ messages in thread
From: Ash Logan @ 2025-09-16 1:57 UTC (permalink / raw)
To: Arnd Bergmann, Christophe Leroy
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
officialTechflashYT, A. Wilcox, Michael Ellerman
On 13/9/25 23:52, Arnd Bergmann wrote:
Hi Arnd! Thanks for your reply.
> Like most other machines, this one is probably fine with a combination
> of a custom LOWMEM_SIZE setting and using zram-highmem, even if we
> end up removing support for highmem page cache.
Good shout - I'm now testing a 2G/2G split which allows for 1536MiB
lowmem. I know that's a somewhat aggressive setting for userspace, so
we'll see if anything breaks. I read Rasbian shipped similar kernels and
had issues with Wine, though that's not a common use case on PowerPC ^^
> The smaller devices are probable getting problematic sooner, 96MB
> in the Wii is already really tight and this only gets worse over
> time.
The maintainer of that downstream claims to be able to boot modern
text-mode distros on the GameCube' 24MB, which I find really impressive!
> Just to be clear: there is no general 32-bit deprecation going on. When
> I talked about phasing out 32-bit platforms over time, that is purely
> going to be those that have no users left, or the few ones that are
> causing more work than they are worth. E.g. The ppc405 ones got
> removed recently (after many years of discussion) because they were
> making ppc440 maintenance harder and had no known users.
>
> Highmem does get in the way, but unless more -mm folks make a strong
> argument in favor of removing it all, it's more likely that we'll
> go with Willy's suggestion of keeping highmem on page cache (anon
> and file mappings) than just keeling zram, and even that would
> still work.
That's good to hear. I would like to have the page cache, though I'm
still going to try and maximise lowmem as well.
Thanks,
Ash
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-14 14:14 ` Segher Boessenkool
@ 2025-09-16 2:10 ` Ash Logan
2025-09-16 15:41 ` Segher Boessenkool
0 siblings, 1 reply; 10+ messages in thread
From: Ash Logan @ 2025-09-16 2:10 UTC (permalink / raw)
To: Segher Boessenkool
Cc: arnd, christophe.leroy, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, officialTechflashYT, AWilcox,
Michael Ellerman
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-16 1:57 ` Ash Logan
@ 2025-09-16 6:20 ` Arnd Bergmann
2025-09-16 7:00 ` Willy Tarreau
2025-09-16 16:58 ` Segher Boessenkool
1 sibling, 1 reply; 10+ messages in thread
From: Arnd Bergmann @ 2025-09-16 6:20 UTC (permalink / raw)
To: Ash Logan, Christophe Leroy
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
officialTechflashYT, A. Wilcox, Michael Ellerman
On Tue, Sep 16, 2025, at 03:57, Ash Logan wrote:
> On 13/9/25 23:52, Arnd Bergmann wrote:
>
>> Like most other machines, this one is probably fine with a combination
>> of a custom LOWMEM_SIZE setting and using zram-highmem, even if we
>> end up removing support for highmem page cache.
>
> Good shout - I'm now testing a 2G/2G split which allows for 1536MiB
> lowmem. I know that's a somewhat aggressive setting for userspace, so
> we'll see if anything breaks. I read Rasbian shipped similar kernels and
> had issues with Wine, though that's not a common use case on PowerPC ^^
For experiments I would suggest going all the way to 2GB lowmem on MEM2,
which would require running without MEM1. At least on powerpc you have
complete flexibility with the vmsplit, compared to arm and x86 that
only have a few distinct options.
If you run into problems with ~1.8GB user addressing, you can still
see where exactly the problem is and whether it's fixable. E.g. If
there is a single process that tries to actually use most of the
available RAM, it will likely fail when it runs out of address
space in malloc(), and there is not much we can do about that.
>> The smaller devices are probable getting problematic sooner, 96MB
>> in the Wii is already really tight and this only gets worse over
>> time.
>
> The maintainer of that downstream claims to be able to boot modern
> text-mode distros on the GameCube' 24MB, which I find really impressive!
24MB is impressive indeed. In my latest tests I did not get below 32MB
(+swap) on an ARMv7 kernel with Debian Bookworm, and major features
turned off in both kernel and userland.
On a simpler musl+busybox userland and even more feature reduced
kernel (no network, initramfs-only) I could get to ~10MB, but then it
doesn't really do anything besides showing a shell.
Arnd
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-16 6:20 ` Arnd Bergmann
@ 2025-09-16 7:00 ` Willy Tarreau
2025-09-16 9:13 ` Arnd Bergmann
0 siblings, 1 reply; 10+ messages in thread
From: Willy Tarreau @ 2025-09-16 7:00 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Ash Logan, Christophe Leroy, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, officialTechflashYT, A. Wilcox,
Michael Ellerman
On Tue, Sep 16, 2025 at 08:20:35AM +0200, Arnd Bergmann wrote:
> > The maintainer of that downstream claims to be able to boot modern
> > text-mode distros on the GameCube' 24MB, which I find really impressive!
>
> 24MB is impressive indeed. In my latest tests I did not get below 32MB
> (+swap) on an ARMv7 kernel with Debian Bookworm, and major features
> turned off in both kernel and userland.
>
> On a simpler musl+busybox userland and even more feature reduced
> kernel (no network, initramfs-only) I could get to ~10MB, but then it
> doesn't really do anything besides showing a shell.
When you build your systems from source and install only the necessary
*files* (not packages) you can get much lower. Here's my reverse-proxy
for example (aarch64):
$ df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/ram0 11520 11520 0 100% /
and my firewall:
$ df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/ram0 16640 16640 0 100% /
these are full-featured images with tcpdump, exim, haproxy, nftables,
pppd, ntpd, wireguard, openvpn, hostapd etc and even glibc. I've been
used to installing them on 25128 SPI NOR flashes (16 MB). But yeah
that requires gcc -Os, getting rid of NLS, deciding on a case by case
basis between shared or static linking, and installing the strict
minimum for each service. I even have an old boot loader recovery
image where kernel+initramfs fit into just 1 MB with a small recovery
shell, mke2fs, dropbear and tftp client (i386).
Cheers,
Willy
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-16 7:00 ` Willy Tarreau
@ 2025-09-16 9:13 ` Arnd Bergmann
0 siblings, 0 replies; 10+ messages in thread
From: Arnd Bergmann @ 2025-09-16 9:13 UTC (permalink / raw)
To: Willy Tarreau
Cc: Ash Logan, Christophe Leroy, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, officialTechflashYT, A. Wilcox,
Michael Ellerman
On Tue, Sep 16, 2025, at 09:00, Willy Tarreau wrote:
> On Tue, Sep 16, 2025 at 08:20:35AM +0200, Arnd Bergmann wrote:
>> > The maintainer of that downstream claims to be able to boot modern
>> > text-mode distros on the GameCube' 24MB, which I find really impressive!
>>
>> On a simpler musl+busybox userland and even more feature reduced
>> kernel (no network, initramfs-only) I could get to ~10MB, but then it
>> doesn't really do anything besides showing a shell.
>
> When you build your systems from source and install only the necessary
> *files* (not packages) you can get much lower. Here's my reverse-proxy
> for example (aarch64):
>
> $ df /
> Filesystem 1K-blocks Used Available Use% Mounted on
> /dev/ram0 11520 11520 0 100% /
Yes, that was what I did in my busybox example, which used a tiny
initramfs in the end. Your ramdisk itself is already bigger than
my total 10MB RAM here, but then it also does one thing instead
of nothing.
Arnd
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-16 2:10 ` Ash Logan
@ 2025-09-16 15:41 ` Segher Boessenkool
0 siblings, 0 replies; 10+ messages in thread
From: Segher Boessenkool @ 2025-09-16 15:41 UTC (permalink / raw)
To: Ash Logan
Cc: arnd, christophe.leroy, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, officialTechflashYT, AWilcox,
Michael Ellerman
On Tue, Sep 16, 2025 at 12:10:14PM +1000, Ash Logan wrote:
> On 15/9/25 00:14, Segher Boessenkool wrote:
> > 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)
We often threw something on the EXI bus, either something that directly
converts to USB (like the EXIUSB board we did), or anything goes really,
it is a really simple bus so an FPGA or a CPLD or XS1 or even pure
software works.
> > > 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...
The 750CX and 750CXe (and so, Gekko as well) have a PVN of 8, it is
just a 750 after all. 750FX has 0x7000 though, and 750GX has 0x7002.
Espresso is 0x7001, maybe it is somwhat inbetween FX and GX wrt
implementation process or the like.
The numbering is a bit of a mess, yeah :-)
> > > - 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.
Ah, it appears the MEM1 is not implemented as 1T-SRAM anymore, but just
is a hunk of off-the-shelf DDR2 (or GDDR3, or DDR3, or whatever they
used; it doesn't matter so much). Those come in power-of-two sizes
mostly :-)
There only is 3MB of 1T on WiiU, for the graphics memory.
> > > 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
Ah cool. I'm maintainer for PowerPC GCC these days, I'll be happy to
work with whoever wants to do a good patch (not this one, it is not a
different CPU type, we shouldn't pretend it is, the actual patch can be
just a handful of lines).
> 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.
It is not very similar at all. Both have some issues related to
(off-core) coherency stuff, something for which there were no good
testing frameworks in that era. And that is where the similarity ends.
This needs full-system emulation to test well, probably interpreting
the whole VHDL, for all cores and the caches and the fabric. Or special
ASICs to implement the whole thing at a hundred of a percent of real
speed.
> No surprise the console vendors all went to x86
> and ARM right after, I suppose.
Both of which had similar (but even worse) bugs, yeah :-)
Segher
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 32-bit HIGHMEM and game console downstreams
2025-09-16 1:57 ` Ash Logan
2025-09-16 6:20 ` Arnd Bergmann
@ 2025-09-16 16:58 ` Segher Boessenkool
1 sibling, 0 replies; 10+ messages in thread
From: Segher Boessenkool @ 2025-09-16 16:58 UTC (permalink / raw)
To: Ash Logan
Cc: Arnd Bergmann, Christophe Leroy, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, officialTechflashYT, A. Wilcox,
Michael Ellerman
On Tue, Sep 16, 2025 at 11:57:00AM +1000, Ash Logan wrote:
> On 13/9/25 23:52, Arnd Bergmann wrote:
> > The smaller devices are probable getting problematic sooner, 96MB
> > in the Wii is already really tight and this only gets worse over
> > time.
>
> The maintainer of that downstream claims to be able to boot modern text-mode
> distros on the GameCube' 24MB, which I find really impressive!
Hey, I still boot up my imac G3 sometimes (if I can find a keyboard for
it!), it has 64MB of RAM and that needs some handholding to boot already
(the zImage needs some manual header editting to fix its load address,
something like that).
But booting it does :-)
> > Just to be clear: there is no general 32-bit deprecation going on. When
> > I talked about phasing out 32-bit platforms over time, that is purely
> > going to be those that have no users left, or the few ones that are
> > causing more work than they are worth. E.g. The ppc405 ones got
> > removed recently (after many years of discussion) because they were
> > making ppc440 maintenance harder and had no known users.
Good good good. Way too reasonable!
Thanks,
Segher
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-09-16 16:58 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-13 10:53 32-bit HIGHMEM and game console downstreams Ash Logan
2025-09-13 13:52 ` Arnd Bergmann
2025-09-16 1:57 ` Ash Logan
2025-09-16 6:20 ` Arnd Bergmann
2025-09-16 7:00 ` Willy Tarreau
2025-09-16 9:13 ` Arnd Bergmann
2025-09-16 16:58 ` Segher Boessenkool
2025-09-14 14:14 ` Segher Boessenkool
2025-09-16 2:10 ` Ash Logan
2025-09-16 15:41 ` Segher Boessenkool
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).