Thread (16 messages) flat view 16 messages, 8 authors, 7d ago

Re: [PATCH 03/13] ARM: remove riscpc

From: Ethan Nelson-Moore <hidden>
Date: 2026-09-11 03:44:46
Also in: imx, linux-block, linux-devicetree, linux-doc, linux-omap, linux-serial, lkml

Hi, everyone,

On Tue, Sep 8, 2026 at 8:29 AM Arnd Bergmann [off-list ref] wrote:
The main limitation here is the CPU bus that does not allow 16-bit
wide data transfers and hence requires the kernel to be built with the
-march=armv3 compiler option that was discontinued in gcc-9.

As gcc-8 is barely supported for compiling the kernel, this one
will not see another LTS kernel release, so remove it now.
Because I think it's cool that the kernel still supports actual Acorn
hardware, I patched gcc 16.2 to restore ARMv3m support:
https://github.com/EthanNelson-Moore/gcc-arm-retro

This ended up being surprisingly straightforward - only a couple
hundred lines changed - and it would be even fewer lines had I not
reverted a commit that adds a use of ldrh instead of fixing it.

It is able to compile a kernel successfully (once you update the GCC
version check to check for -march=armv3m support instead - I can send
my patch). I haven't tested it, but I am fairly confident that it
would run, because the assembler will reject code the compiler
generates with unsupported instructions - this is how I found the
commit I needed to revert.

I am working on a clocksource driver, which uses both timers (to
hopefully fix the awful time drift), and removes the dependency on
LEGACY_TIMER_TICK.

I also have patches for several cleanups to Risc PC-related code.

I am aware that this has no actual use case, but it was fun. No LLM
was used for any part of the work.

Ethan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help