mbox series

[0/7] Remove 40x

Message ID 20240506125152.78174-1-mpe@ellerman.id.au (mailing list archive)
Headers show
Series Remove 40x | expand

Message

Michael Ellerman May 6, 2024, 12:51 p.m. UTC
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@c-s.fr/

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

Comments

Rob Herring (Arm) May 6, 2024, 8:40 p.m. UTC | #1
On Mon, 06 May 2024 22:51:45 +1000, Michael Ellerman wrote:
> 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@c-s.fr/
> 
> 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
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y acadia.dtb hotfoot.dtb kilauea.dtb obs600.dtb' for 20240506125152.78174-1-mpe@ellerman.id.au:

make[2]: *** No rule to make target 'arch/powerpc/boot/dts/obs600.dtb'.
make[2]: *** No rule to make target 'arch/powerpc/boot/dts/hotfoot.dtb'.
make[2]: *** No rule to make target 'arch/powerpc/boot/dts/kilauea.dtb'.
make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: hotfoot.dtb] Error 2
make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: kilauea.dtb] Error 2
make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: obs600.dtb] Error 2
make[2]: *** No rule to make target 'arch/powerpc/boot/dts/acadia.dtb'.
make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1392: acadia.dtb] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Target 'acadia.dtb' not remade because of errors.
make: Target 'hotfoot.dtb' not remade because of errors.
make: Target 'kilauea.dtb' not remade because of errors.
make: Target 'obs600.dtb' not remade because of errors.