[PATCH 0/7] Remove 40x

From: Michael Ellerman
Date: Mon May 06 2024 - 08:52:36 EST


The 40x platforms & CPUs are old and have been unmaintained for years, and as
far as we can tell have no users.

Note 44x and 476 are not affected.

Christophe first proposed removing 40x in 2020:
https://lore.kernel.org/linuxppc-dev/40899eb1b8f10da3706acd06c3d46d2418c8886e.1585635837.git.christophe.leroy@xxxxxx/

And on a few subsequent occasions.

The proposed removal was covered on Phronix:
https://www.phoronix.com/news/PowerPC-40x-400-Linux-Removal

OpenWRT dropped support in 2019.

So unless anyone steps up to maintain it, remove 40x as unused. RIP.

cheers


More context: https://github.com/linuxppc/issues/issues/349

Christophe Leroy (4):
powerpc/40x: Remove 40x platforms.
powerpc/boot: Remove all 40x platforms from boot
powerpc: Remove core support for 40x
powerpc/platforms: Move files from 4xx to 44x

Michael Ellerman (3):
powerpc: Remove 40x from Kconfig and defconfig
powerpc/4xx: Remove CONFIG_BOOKE_OR_40x
powerpc: Replace CONFIG_4xx with CONFIG_44x

MAINTAINERS | 1 -
arch/powerpc/Kconfig | 17 +-
arch/powerpc/Kconfig.debug | 13 -
arch/powerpc/Makefile | 5 -
arch/powerpc/boot/4xx.c | 266 -------
arch/powerpc/boot/4xx.h | 4 -
arch/powerpc/boot/Makefile | 11 -
arch/powerpc/boot/cuboot-acadia.c | 171 -----
arch/powerpc/boot/cuboot-hotfoot.c | 139 ----
arch/powerpc/boot/cuboot-kilauea.c | 46 --
arch/powerpc/boot/dcr.h | 11 -
arch/powerpc/boot/dts/acadia.dts | 224 ------
arch/powerpc/boot/dts/hotfoot.dts | 296 -------
arch/powerpc/boot/dts/kilauea.dts | 407 ----------
arch/powerpc/boot/dts/obs600.dts | 314 --------
arch/powerpc/boot/ppcboot-hotfoot.h | 119 ---
arch/powerpc/boot/ppcboot.h | 2 +-
arch/powerpc/configs/40x.config | 2 -
arch/powerpc/configs/40x/acadia_defconfig | 61 --
arch/powerpc/configs/40x/kilauea_defconfig | 69 --
arch/powerpc/configs/40x/klondike_defconfig | 43 --
arch/powerpc/configs/40x/makalu_defconfig | 59 --
arch/powerpc/configs/40x/obs600_defconfig | 69 --
arch/powerpc/configs/40x/walnut_defconfig | 55 --
arch/powerpc/configs/ppc40x_defconfig | 74 --
arch/powerpc/include/asm/cacheflush.h | 2 +-
arch/powerpc/include/asm/cputable.h | 7 -
arch/powerpc/include/asm/hw_irq.h | 8 +-
arch/powerpc/include/asm/irq.h | 2 +-
arch/powerpc/include/asm/kup.h | 2 +-
arch/powerpc/include/asm/mmu.h | 7 -
arch/powerpc/include/asm/nohash/32/mmu-40x.h | 68 --
arch/powerpc/include/asm/nohash/32/pgtable.h | 4 +-
arch/powerpc/include/asm/nohash/32/pte-40x.h | 73 --
arch/powerpc/include/asm/nohash/mmu.h | 5 +-
arch/powerpc/include/asm/ppc_asm.h | 2 +-
arch/powerpc/include/asm/processor.h | 2 +-
arch/powerpc/include/asm/ptrace.h | 2 +-
arch/powerpc/include/asm/reg.h | 27 +-
arch/powerpc/include/asm/reg_booke.h | 113 +--
arch/powerpc/include/asm/time.h | 7 +-
arch/powerpc/include/asm/udbg.h | 1 -
arch/powerpc/kernel/Makefile | 1 -
arch/powerpc/kernel/asm-offsets.c | 2 +-
arch/powerpc/kernel/cpu_specs.h | 4 -
arch/powerpc/kernel/cpu_specs_40x.h | 280 -------
arch/powerpc/kernel/entry_32.S | 48 +-
arch/powerpc/kernel/epapr_hcalls.S | 2 +-
arch/powerpc/kernel/head_32.h | 12 +-
arch/powerpc/kernel/head_40x.S | 721 ------------------
arch/powerpc/kernel/head_booke.h | 3 +-
arch/powerpc/kernel/irq.c | 2 +-
arch/powerpc/kernel/kgdb.c | 4 +-
arch/powerpc/kernel/misc_32.S | 40 -
arch/powerpc/kernel/process.c | 4 +-
arch/powerpc/kernel/setup.h | 2 +-
arch/powerpc/kernel/setup_32.c | 2 +-
arch/powerpc/kernel/time.c | 2 +-
arch/powerpc/kernel/traps.c | 2 +-
arch/powerpc/kernel/udbg.c | 3 -
arch/powerpc/kernel/udbg_16550.c | 23 -
arch/powerpc/mm/fault.c | 4 +-
arch/powerpc/mm/mmu_context.c | 2 +-
arch/powerpc/mm/mmu_decl.h | 8 +-
arch/powerpc/mm/nohash/40x.c | 161 ----
arch/powerpc/mm/nohash/Makefile | 1 -
arch/powerpc/mm/nohash/kup.c | 2 -
arch/powerpc/mm/nohash/mmu_context.c | 5 +-
arch/powerpc/mm/nohash/tlb_low.S | 27 +-
arch/powerpc/mm/ptdump/Makefile | 2 +-
arch/powerpc/platforms/40x/Kconfig | 78 --
arch/powerpc/platforms/40x/Makefile | 2 -
arch/powerpc/platforms/40x/ppc40x_simple.c | 74 --
arch/powerpc/platforms/44x/Makefile | 6 +-
arch/powerpc/platforms/{4xx => 44x}/cpm.c | 0
arch/powerpc/platforms/{4xx => 44x}/gpio.c | 0
.../powerpc/platforms/{4xx => 44x}/hsta_msi.c | 0
arch/powerpc/platforms/44x/machine_check.c | 15 +
arch/powerpc/platforms/{4xx => 44x}/pci.c | 100 ---
arch/powerpc/platforms/{4xx => 44x}/pci.h | 0
arch/powerpc/platforms/{4xx => 44x}/soc.c | 0
arch/powerpc/platforms/{4xx => 44x}/uic.c | 0
arch/powerpc/platforms/4xx/Makefile | 7 -
arch/powerpc/platforms/4xx/machine_check.c | 23 -
arch/powerpc/platforms/Kconfig | 1 -
arch/powerpc/platforms/Kconfig.cputype | 30 +-
arch/powerpc/platforms/Makefile | 2 -
arch/powerpc/sysdev/Kconfig | 4 +-
scripts/head-object-list.txt | 1 -
89 files changed, 77 insertions(+), 4445 deletions(-)
delete mode 100644 arch/powerpc/boot/cuboot-acadia.c
delete mode 100644 arch/powerpc/boot/cuboot-hotfoot.c
delete mode 100644 arch/powerpc/boot/cuboot-kilauea.c
delete mode 100644 arch/powerpc/boot/dts/acadia.dts
delete mode 100644 arch/powerpc/boot/dts/hotfoot.dts
delete mode 100644 arch/powerpc/boot/dts/kilauea.dts
delete mode 100644 arch/powerpc/boot/dts/obs600.dts
delete mode 100644 arch/powerpc/boot/ppcboot-hotfoot.h
delete mode 100644 arch/powerpc/configs/40x.config
delete mode 100644 arch/powerpc/configs/40x/acadia_defconfig
delete mode 100644 arch/powerpc/configs/40x/kilauea_defconfig
delete mode 100644 arch/powerpc/configs/40x/klondike_defconfig
delete mode 100644 arch/powerpc/configs/40x/makalu_defconfig
delete mode 100644 arch/powerpc/configs/40x/obs600_defconfig
delete mode 100644 arch/powerpc/configs/40x/walnut_defconfig
delete mode 100644 arch/powerpc/configs/ppc40x_defconfig
delete mode 100644 arch/powerpc/include/asm/nohash/32/mmu-40x.h
delete mode 100644 arch/powerpc/include/asm/nohash/32/pte-40x.h
delete mode 100644 arch/powerpc/kernel/cpu_specs_40x.h
delete mode 100644 arch/powerpc/kernel/head_40x.S
delete mode 100644 arch/powerpc/mm/nohash/40x.c
delete mode 100644 arch/powerpc/platforms/40x/Kconfig
delete mode 100644 arch/powerpc/platforms/40x/Makefile
delete mode 100644 arch/powerpc/platforms/40x/ppc40x_simple.c
rename arch/powerpc/platforms/{4xx => 44x}/cpm.c (100%)
rename arch/powerpc/platforms/{4xx => 44x}/gpio.c (100%)
rename arch/powerpc/platforms/{4xx => 44x}/hsta_msi.c (100%)
rename arch/powerpc/platforms/{4xx => 44x}/pci.c (95%)
rename arch/powerpc/platforms/{4xx => 44x}/pci.h (100%)
rename arch/powerpc/platforms/{4xx => 44x}/soc.c (100%)
rename arch/powerpc/platforms/{4xx => 44x}/uic.c (100%)
delete mode 100644 arch/powerpc/platforms/4xx/Makefile
delete mode 100644 arch/powerpc/platforms/4xx/machine_check.c

--
2.45.0