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

From: Arnd Bergmann

Date: Wed Sep 09 2026 - 16:23:13 EST


On Wed, Sep 9, 2026, at 18:42, Bart Van Assche wrote:
> On 9/8/26 8:27 AM, Arnd Bergmann wrote:
>> The Acorn Risc PC is the oldest still support Arm machine in the kernel,
>> originally shipped with an ARMv3 ARM610 support in 1994, it later allowed
>> faster StrongARM CPUs.
>>
>> 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.
>
> If this patch has to be reposted, here is the feedback of my AI coding
> assistant (based on an LLM and hence may be wrong):

Most of this was already discussed, but there are two additional
changes that I made based on it.

> Issues & Observations
> ---------------------
> 1. Missed arch/arm/Makefile cleanup
> Patch 03 deletes the entire directory arch/arm/mach-rpc/, but does not
> touch arch/arm/Makefile. As a result, two orphaned entries remain:
>
> machine-$(CONFIG_ARCH_RPC) += rpc
> machdirs-$(CONFIG_ARCH_RPC) += arch/arm/mach-rpc
> Furthermore, machdirs-$(CONFIG_ARCH_RPC) was the very last user of
> machdirs- in arch/arm/Makefile (after Footbridge and SA-1100 are removed
> in patches 1 & 2):

Fixed already after sashiko-bot found the same thing.

> kconfig
>
>
> config FONT_ACORN_8x8
> bool "Acorn console 8x8 font" if FONTS
> depends on FRAMEBUFFER_CONSOLE || DRM_PANIC
> default y if !SPARC && !FONTS && ARM && ARCH_ACORN
> Because ARCH_ACORN is removed, this default can never trigger and the
> reference should be cleaned up.

I have this in the patch that removes acornfb. It could go into
either one, but I felt it fits better there

> kconfig
>
>
> config CPU_SA110
> bool
> select CPU_32v3 if ARCH_RPC
> select CPU_32v4 if !ARCH_RPC
> Since ARCH_RPC is removed, select CPU_32v3 if ARCH_RPC references a
> non-existent symbol. If CPU_SA110 remains temporarily (before the
> architectural cleanup in 7.5), this should be simplified to select CPU_32v4.

Also explained already that I preferred removing CPU_32v3 along
with CPU_SA110 in a later patch, not together with ARCH_RPC.

> 4. Dead code in arch/arm/kernel/atags_compat.c
> With CONFIG_ARCH_ACORN removed from arch/arm/Kconfig, two blocks in
> arch/arm/kernel/atags_compat.c
> are now dead code:
>
> Lines 150–157: #ifdef CONFIG_ARCH_ACORN / if (machine_is_riscpc())
> memory bank tagging.
> Lines 186–194: #ifdef CONFIG_ARCH_ACORN ATAG_ACORN translation.
> These blocks should be removed as part of this patch.

I have a patch to remove that file.

>
> /*
> * Now, pick up the machine-defined IO definitions
> */
> #if IS_ENABLED(CONFIG_PCMCIA) || defined(CONFIG_PCI)
> CONFIG_NEED_MACH_IO_H and #include <mach/io.h> were removed, leaving
> this comment describing generic PCI/PCMCIA I/O limits.

Fixed now.

> arch/arm/boot/bootp/Makefile:21
> : # guess an initrd location if possible is left dangling right before
> ifdef INITRD_OFFSET after all initrd_offset-$(CONFIG_...) logic has been
> stripped out.

Removed that entire block now:

--- a/arch/arm/boot/bootp/Makefile
+++ b/arch/arm/boot/bootp/Makefile
@@ -17,12 +17,6 @@ add_hex = $(shell printf 0x%x $$(( $(1) + $(2) )) )
# INITRD_PHYS must be in RAM

PARAMS_PHYS := $(call add_hex, $(PHYS_OFFSET), 0x100)
-
-# guess an initrd location if possible
-ifdef INITRD_OFFSET
-INITRD_PHYS := $(call add_hex, $(PHYS_OFFSET), $(INITRD_OFFSET))
-endif
-
endif

PHONY += initrd
@@ -30,7 +24,7 @@ initrd:
@test "$(PARAMS_PHYS)" != "" || \
(echo bootpImage: You must specify PHYS_OFFSET of PARAMS_PHYS ; exit -1)
@test "$(INITRD_PHYS)" != "" || \
- (echo bootpImage: You must specify INITRD_OFFSET or INITRD_PHYS ; exit -1)
+ (echo bootpImage: You must specify INITRD_PHYS ; exit -1)
@test "$(INITRD)" != "" || \
(echo bootpImage: You must specify INITRD; exit -1)


> 6. Floppy driver & arch/arm/include/asm/floppy.h status
> The patch removes the ARM MFM AND FLOPPY DRIVERS entry from MAINTAINERS:

commented already that this is removed along with CONFIG_ISA in a later
patch.

Arnd