From: Bart Van Assche <bvanassche@acm.org>
To: Arnd Bergmann <arnd@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Linus Walleij <linusw@kernel.org>,
Russell King <linux@armlinux.org.uk>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-stm32@st-md-mailman.stormreply.com,
linux-omap@vger.kernel.org, linux-block@vger.kernel.org,
linux-serial@vger.kernel.org, linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 03/13] ARM: remove riscpc
Date: Wed, 9 Sep 2026 09:42:53 -0700 [thread overview]
Message-ID: <2da174ef-1d5a-425d-b885-be9482b0be90@acm.org> (raw)
In-Reply-To: <20260908152808.3928630-4-arnd@kernel.org>
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):
----------------------------------------------------------------------
Overview
--------
This patch removes the Acorn RiscPC platform (ARCH_RPC), the oldest
32-bit ARM machine supported in mainline Linux (originally ARMv3 ARM610,
later StrongARM SA-110). Because RiscPC hardware requires -march=armv3
(discontinued in GCC 9) due to bus limitations, deprecating and removing
it paves the way to clean out legacy ARMv3 support from the kernel.
Removing RiscPC also represents a major architectural milestone for
arch/arm: with SA-1100 (patch 1), Footbridge (patch 2), and RiscPC
(patch 3) removed, COMMON_CLK, SPARSE_IRQ, and USE_OF (Device Tree)
become unconditionally selected for all 32-bit ARM targets, and legacy
headers mach/io.h and mach/memory.h are eliminated.
Overall, this is a very welcome cleanup, but there are a few missed
references, orphaned symbols, and stale comments that should be addressed.
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:
makefile
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):
makefile
# legacy platforms provide their own mach/*.h headers globally,
# these three are mutually exclusive
machdirs-$(CONFIG_ARCH_FOOTBRIDGE) += arch/arm/mach-footbridge
machdirs-$(CONFIG_ARCH_RPC) += arch/arm/mach-rpc
machdirs-$(CONFIG_ARCH_SA1100) += arch/arm/mach-sa1100
KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%/include,$(machdirs-y))
Once RiscPC is gone, the entire machdirs- inclusion block can and should
be removed from arch/arm/Makefile.
2. Missed ARCH_ACORN reference in lib/fonts/Kconfig
The patch deletes config ARCH_ACORN from arch/arm/Kconfig and removes
#ifdef CONFIG_ARCH_ACORN from
lib/fonts/font_acorn_8x8.c
, but missed
lib/fonts/Kconfig:74
:
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.
3. Orphaned ARCH_RPC reference in arch/arm/mm/Kconfig
In
arch/arm/mm/Kconfig:281-282
:
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.
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.
5. Stale comments
arch/arm/include/asm/io.h:207-209
:
c
/*
* 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.
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.
6. Floppy driver & arch/arm/include/asm/floppy.h status
The patch removes the ARM MFM AND FLOPPY DRIVERS entry from MAINTAINERS:
diff
-ARM MFM AND FLOPPY DRIVERS
-M: Ian Molton <spyro@f2s.com>
-S: Maintained
-F: arch/arm/include/asm/floppy.h
-F: arch/arm/mach-rpc/floppydma.S
While
floppydma.S
was deleted,
arch/arm/include/asm/floppy.h
was left in the tree.
On ARM, floppy support requires ARCH_MAY_HAVE_PC_FDC, which was selected
only by Footbridge and RiscPC.
With both gone, no ARM board selects ARCH_MAY_HAVE_PC_FDC.
Furthermore, asm/floppy.h references IRQ_FLOPPYDISK and DMA_FLOPPY,
which no longer exist on ARM.
Either
arch/arm/include/asm/floppy.h
and config ARCH_MAY_HAVE_PC_FDC in arch/arm/Kconfig should be deleted
in this patch, or noted if intentionally deferred to the 7.5 driver cleanup.
7. Good changes & verification
block/partitions/Kconfig: Dropping default y if ARCH_ACORN while keeping
ACORN_PARTITION available under PARTITION_ADVANCED is correct; users can
still inspect/mount Acorn media on modern architectures.
drivers/tty/vt/keyboard.c: Clean removal of !defined(CONFIG_ARCH_RPC)
from the raw keyboard scan handler.
Elimination of NEED_MACH_IO_H and NEED_MACH_MEMORY_H: Very clean removal
across arch/arm/Kconfig, arch/arm/include/asm/io.h,
arch/arm/include/asm/memory.h, and arch/arm/mm/mmu.c.
Minor Typo in Commit Message
text
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.
"oldest still support Arm machine" -> "oldest still supported Arm machine"
"with an ARMv3 ARM610 support" -> "with ARMv3 ARM610 support" or "with
an ARMv3 ARM610 CPU"
next prev parent reply other threads:[~2026-09-09 16:43 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-08 15:27 [PATCH 00/13] ARM: deprecated platform removal Arnd Bergmann
2026-09-08 15:27 ` [PATCH 01/13] ARM: remove sa1100 platform Arnd Bergmann
2026-09-08 16:26 ` Guenter Roeck
2026-09-08 17:23 ` Linus Walleij
2026-09-08 19:39 ` Karl Mehltretter
2026-09-08 20:09 ` Arnd Bergmann
2026-09-08 20:36 ` Nicolas Pitre
2026-09-08 21:26 ` David Laight
2026-09-08 21:32 ` Arnd Bergmann
2026-09-09 12:38 ` Alexandre Belloni
2026-09-08 15:27 ` [PATCH 02/13] ARM: remove footbridge Arnd Bergmann
2026-09-08 15:55 ` sashiko-bot
2026-09-08 17:57 ` Arnd Bergmann
2026-09-08 17:27 ` Linus Walleij
2026-09-09 15:09 ` Ralph Siemsen
2026-09-08 15:27 ` [PATCH 03/13] ARM: remove riscpc Arnd Bergmann
2026-09-08 15:52 ` sashiko-bot
2026-09-08 16:10 ` Arnd Bergmann
2026-09-09 8:04 ` Thomas Zimmermann
2026-09-09 16:42 ` Bart Van Assche [this message]
2026-09-09 20:09 ` Arnd Bergmann
2026-09-11 3:44 ` Ethan Nelson-Moore
2026-09-11 9:07 ` Linus Walleij
2026-09-11 13:25 ` Bart Van Assche
2026-09-11 13:37 ` Linus Walleij
2026-09-11 14:38 ` Daniel Palmer
2026-09-11 18:14 ` Linus Walleij
2026-09-12 1:29 ` Daniel Palmer
2026-09-11 18:42 ` Karl Mehltretter
2026-09-12 2:08 ` Ethan Nelson-Moore
2026-09-12 3:59 ` Ethan Nelson-Moore
2026-09-08 15:27 ` [PATCH 04/13] ARM: remove legacy pxa board files Arnd Bergmann
2026-09-08 16:01 ` sashiko-bot
2026-09-08 18:06 ` Arnd Bergmann
2026-09-08 17:30 ` Linus Walleij
2026-09-08 18:32 ` Daniel Mack
2026-09-08 15:27 ` [PATCH 05/13] ARM: orion/dove/mv78xx0: remove all " Arnd Bergmann
2026-09-08 15:34 ` Mark Brown
2026-09-08 16:11 ` sashiko-bot
2026-09-08 18:21 ` Arnd Bergmann
2026-09-09 12:42 ` [PATCH 05.2/13] ARM: orion5x: fold plat-orion/pcie.c and hw_pci into pci.c Arnd Bergmann
2026-09-08 16:12 ` [PATCH 05/13] ARM: orion/dove/mv78xx0: remove all board files Ulf Hansson
2026-09-08 16:18 ` Andrew Lunn
2026-09-08 17:33 ` Linus Walleij
2026-09-08 20:14 ` Niklas Cassel
2026-09-09 12:54 ` Gregory CLEMENT
2026-09-11 10:22 ` Daniel Lezcano
2026-09-08 15:27 ` [PATCH 06/13] ARM: omap2: remove omap24xx support Arnd Bergmann
2026-09-08 17:18 ` Aaro Koskinen
2026-09-08 17:35 ` Linus Walleij
2026-09-08 19:21 ` Karl Mehltretter
2026-09-08 19:42 ` Arnd Bergmann
2026-09-09 8:06 ` Thomas Zimmermann
2026-09-08 15:27 ` [PATCH 07/13] ARM: imx: remove i.MX31 SoC support Arnd Bergmann
2026-09-08 16:05 ` sashiko-bot
2026-09-08 18:01 ` Arnd Bergmann
2026-09-09 8:24 ` Vladimir Zapolskiy
2026-09-09 8:26 ` Daniel Baluta
2026-09-10 15:11 ` Frank Li
2026-09-08 15:27 ` [PATCH 08/13] ARM: imx: remove nommu support Arnd Bergmann
2026-09-08 15:43 ` sashiko-bot
2026-09-09 20:17 ` Fabio Estevam
2026-09-09 20:21 ` Fabio Estevam
2026-09-10 13:08 ` Jesse T
2026-09-10 16:08 ` Giulio Benetti
2026-09-10 15:14 ` Frank Li
2026-09-08 15:27 ` [PATCH 09/13] ARM: lpc18xx: remove entire platform Arnd Bergmann
2026-09-08 15:41 ` sashiko-bot
2026-09-08 15:43 ` Arnd Bergmann
2026-09-08 17:36 ` Linus Walleij
2026-09-09 8:28 ` Vladimir Zapolskiy
2026-09-08 15:28 ` [PATCH 10/13] ARM: stm32: remove stm32f4/f7/h7 MCU support Arnd Bergmann
2026-09-08 15:43 ` sashiko-bot
2026-09-08 15:54 ` Arnd Bergmann
2026-09-08 17:36 ` Linus Walleij
2026-09-11 15:46 ` Alexandre TORGUE
2026-09-08 15:28 ` [PATCH 11/13] ARM: versatile: remove mps2 support Arnd Bergmann
2026-09-08 15:41 ` Vladimir Murzin
2026-09-08 15:51 ` sashiko-bot
2026-09-08 17:37 ` Linus Walleij
2026-09-08 19:49 ` Sudeep Holla
2026-09-08 19:51 ` Arnd Bergmann
2026-09-08 19:58 ` Sudeep Holla
2026-09-08 19:54 ` Sudeep Holla
2026-09-08 15:28 ` [PATCH 12/13] ARM: at91: remove samv7 support Arnd Bergmann
2026-09-08 15:55 ` sashiko-bot
2026-09-08 16:40 ` Arnd Bergmann
2026-09-08 17:39 ` Linus Walleij
2026-09-08 21:09 ` Rob Herring
2026-09-08 21:30 ` Arnd Bergmann
2026-09-10 12:25 ` Nicolas Ferre
2026-09-09 12:41 ` Alexandre Belloni
2026-09-10 12:23 ` Nicolas Ferre
2026-09-08 15:28 ` [PATCH 13/13] ARM: axxia: remove entire platform Arnd Bergmann
2026-09-08 15:55 ` sashiko-bot
2026-09-08 17:40 ` Linus Walleij
2026-09-08 18:23 ` Krzysztof Kozlowski
2026-09-08 16:53 ` [PATCH 00/13] ARM: deprecated platform removal Randy Dunlap
2026-09-08 16:56 ` Randy Dunlap
2026-09-08 18:33 ` Arnd Bergmann
2026-09-08 18:39 ` Randy Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2da174ef-1d5a-425d-b885-be9482b0be90@acm.org \
--to=bvanassche@acm.org \
--cc=alexandre.belloni@bootlin.com \
--cc=arnd@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=imx@lists.linux.dev \
--cc=krzk@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux@armlinux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox