linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Old platforms: bring out your dead
@ 2021-01-08 22:55 Arnd Bergmann
  2021-01-08 23:32 ` Steven Rostedt
                   ` (25 more replies)
  0 siblings, 26 replies; 122+ messages in thread
From: Arnd Bergmann @ 2021-01-08 22:55 UTC (permalink / raw)
  To: Linux ARM, Linux Kernel Mailing List
  Cc: Krzysztof Adamski, Oleksij Rempel, Baruch Siach,
	Russell King - ARM Linux, Daniel Tang, Uwe Kleine-König,
	Jamie Iles, Barry Song, Viresh Kumar, Linus Walleij,
	Jonas Jensen, Marc Gonzalez, Hartley Sweeten, Lubomir Rintel,
	Neil Armstrong, Shawn Guo, Alex Elder, Alexander Shiyan,
	Koen Vandeputte, Hans Ulli Kroll, Vladimir Zapolskiy, Wei Xu,
	Steven Rostedt, Yoshinori Sato, Mark Salter, Michael Ellerman,
	Geert Uytterhoeven, Thomas Bogendoerfer

After v5.10 was officially declared an LTS kernel, I had a look around
the Arm platforms that look like they have not seen any patches from
their maintainers or users that are actually running the hardware for
at least five years (2015 or earlier). I made some statistics and lists
for my lwn.net article last year [1], so I'd thought I'd share a summary
here for discussion about what we should remove. As I found three
years ago when I removed several CPU architectures, it makes sense
to do this in bulk, to simplify a scripted search for device drivers, header
files and Kconfig options that become unused in the process.

This is probably a mix of platforms that are completely unused and
those that just work, but I have no good way of knowing which one
it is. Without hearing back about these, I'd propose removing all of
these:

* asm9260 -- added in 2014, no notable changes after 2015
* axxia -- added in 2014, no notable changes after 2015
* bcm/kona -- added in 2013, no notable changes after 2014
* digicolor -- added in 2014, no notable changes after 2015
* dove -- added in 2009, obsoleted by mach-mvebu in 2015
* efm32 -- added in 2011, first Cortex-M, no notable changes after 2013
* nspire -- added in 2013, no notable changes after 2015
* picoxcell -- added in 2011, already queued for removal
* prima2 -- added in 20111, no notable changes since 2015
* spear -- added in 2010, no notable changes since 2015
* tango -- added in 2015, sporadic changes until 2017, but abandoned
* u300 -- added in 2009, no notable changes since 2013
* vt8500 -- added in 2010, no notable changes since 2014
* zx --added in 2015 for both 32, 2017 for 64 bit, no notable changes

If any of the above are not dead yet[2], please let me know,
and we'll keep them.

Then there are ARM platforms that are old but have still seen some work
in the past years. If I hear nothing, these will all stay, but if maintainers
may want to drop them anyway, I can help with that:

* clps711x -- prehistoric, converted to multiplatform+DT in 2016, no
changes since
* cns3xxx -- added in 2010, last fixed in 2019, probably no users left
* ep93xx -- added in 2006, LinusW still working on it, any users left?
* footbridge -- added in prehistory, stable since ~2013, rmk and LinusW have one
* gemini -- added in 2009, LinusW still working on it
* hisi (hip01/hip05) -- servers added in 2013, replaced with arm64 in 2016
* highbank -- added in 2011, no changes after 2015, but Andre still uses it
* iop32x -- added in 2006, no notable changes other than my cleanup, but
  I think there are still users
* ixp4xx -- prehistoric, but LinusW and I are still working on it
* lpc18xx -- added in 2015, new dts in 2018, but few other changes
* lpc32xx -- added in 2010, multiplatform 2019, hardware is EOL
* mmp -- added in 2009, DT support is active, but board files might go
* moxart -- added in 2013, last Tested-by in 2017
* mv78xx0 -- added in 2008, mostly stale but still users
  (https://github.com/1000001101000/Debian_on_Buffalo)
* nomadik -- added in 2009, LinusW keeps fixing it, probably no other users
* oxnas -- added in 2016, but already old then, few changes later
* pxa -- prehistoric, but a few boards may still have users
* rpc -- prehistoric, but I think Russell still uses his machine
* sa1100 -- prehistoric, but rmk and LinusW sporadically working in it

I also looked at non-ARM platforms while preparing for my article. Some of
these look like they are no longer actively maintained or used, but I'm not
doing anything about those unless the maintainers would like me to:

* h8300: Steven Rostedt has repeatedly asked about it to be removed
   or fixed in 2020 with no reply. This was killed before in 2013, added back
   in 2015 but has been mostly stale again since 2016
* c6x: Added in 2011, this has seen very few updates since, but
    Mark still Acks patches when they come. Like most other DSP platforms,
    the model of running Linux on a DSP appears to have been obsoleted
    by using Linux on ARM with on-chip DSP cores running bare-metal code.
* sparc/sun4m: A patch for removing 32-bit Sun sparc support (not LEON)
   is currently under review
* powerpc/cell: I'm the maintainer and I promised to send a patch to remove it.
   it's in my backlog but I will get to it. This is separate from PS3,
which is actively
   maintained and used; spufs will move to ps3
* powerpc/chrp (32-bit rs6000, pegasos2): last updated in 2009
* powerpc/amigaone: last updated in 2009
* powerpc/maple: last updated in 2011
* m68k/{apollo,hp300,sun3,q40} these are all presumably dead and have not
   seen updates in many years (atari/amiga/mac and coldfire are very much
   alive)
* mips/jazz: last updated in 2007
* mips/cobalt: last updated in 2010

There might be some value in dropping old CPU support on architectures
and platforms that are almost exclusively used with more modern CPUs.
If there are only few users, those can still keep using v5.10 or v5.4 stable
kernels for a few more years. Again, I'm not doing anything about them,
except mention them since I did the research.
These are the oldest one by architecture, and they may have reached
their best-served-by-date:

* 80486SX/DX: 80386 CPUs were dropped in 2012, and there are
  indications that 486 have no users either on recent kernels.
  There is still the Vortex86 family of SoCs, and the oldest of those were
  486SX-class, but all the modern ones are 586-class.
* Alpha 2106x: First generation that lacks some of the later features.
  Since all Alphas are ancient by now, it's hard to tell whether these have
  any fewer users.
* IA64 Merced: first generation Itanium (2001) was quickly replaced by
  Itanium II in 2002.
* MIPS R3000/TX39xx: 32-bit MIPS-II generation, mostly superseded by
  64-bit MIPS-III (R4000 and higher) starting in 1991. arch/mips still
  supports these in DECstation and Toshiba Txx9, but it appears that most
  of those machines are of the 64-bit kind. Later MIPS32 such as 4Kc and
  later are rather different and widely used.
* PowerPC 601 (from 1992) just got removed, later 60x, 4xx, 8xx etc
  are apparently all still used.
* SuperH SH-2: We discussed removing SH-2 (not J2 or SH-4)
  support in the past, I don't think there were any objections, but
  nobody submitted a patch.
* 68000/68328 (Dragonball): these are less capable than the
  68020+ or the Coldfire MCF5xxx line and similar to the 68360
  that was removed in 2016.

        Arnd

[1] https://lwn.net/Articles/838807/
[2] https://www.youtube.com/watch?v=Jdf5EXo6I68

^ permalink raw reply	[flat|nested] 122+ messages in thread
* Re: Old platforms: bring out your dead
@ 2021-01-12  2:05 tedheadster
  0 siblings, 0 replies; 122+ messages in thread
From: tedheadster @ 2021-01-12  2:05 UTC (permalink / raw)
  To: Linux Kernel Mailing List
  Cc: Shuah Khan, Krzysztof Adamski, Oleksij Rempel, Baruch Siach,
	Russell King - ARM Linux, Daniel Tang, Uwe Kleine-König,
	Jamie Iles, Barry Song, Viresh Kumar, Linus Walleij,
	Jonas Jensen, Marc Gonzalez, Hartley Sweeten, Lubomir Rintel,
	Neil Armstrong, Shawn Guo, Alex Elder, Alexander Shiyan,
	Koen Vandeputte, Hans Ulli Kroll, Vladimir Zapolskiy, Wei Xu,
	Steven Rostedt, Yoshinori Sato, Mark Salter, Michael Ellerman,
	Geert Uytterhoeven, Thomas Bogendoerfer

Arnd,

> * 80486SX/DX: 80386 CPUs were dropped in 2012, and there are
>   indications that 486 have no users either on recent kernels.
>   There is still the Vortex86 family of SoCs, and the oldest of those were
>   486SX-class, but all the modern ones are 586-class.

I actively use the i486DX systems for regression testing and they have
proven useful for detecting bugs in both the kernel and GCC (see
below).

I am also about to use them as testing systems for kernel programming
students. I would hate to lose this platform as a student learning
opportunity.

Here are just some of the patches that I have worked on myself:

Kernel patches i486 testing uncovered:

x86/boot: Fix another __read_cr4() case on 486
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=192d1dccbfc5b901b66527df9df80304693cf06e

x86/CPU: Change query logic so CPUID is enabled before testing
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=2893cc8ff892fa74972d8dc0e1d0dc65116daaa3

GCC patches i486 contributed to:

ibgcc calls __get_cpuid with 0 level breaks on early 486
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a6c78ea30381cc28ea0b2cf8f0bd584a91dda948

ICE in gen_lowpart_general, at rtlhooks.c:63
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=980c8afc0961da4b4567a5abe85b6048d501a1ad

So, these systems are _quietly_ being used, and helping to contribute,
it's just not glamorous, eye-catching work.

- Matthew Whitehead

^ permalink raw reply	[flat|nested] 122+ messages in thread

end of thread, other threads:[~2021-10-23 17:44 UTC | newest]

Thread overview: 122+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-08 22:55 Old platforms: bring out your dead Arnd Bergmann
2021-01-08 23:32 ` Steven Rostedt
2021-01-09 22:04   ` Arnd Bergmann
2021-01-08 23:44 ` Thomas Bogendoerfer
2021-01-09  0:16 ` Linus Walleij
2021-01-09 17:32   ` Florian Fainelli
2021-01-09 21:59   ` Arnd Bergmann
2021-01-09  5:56 ` Willy Tarreau
2021-01-09 21:52   ` Arnd Bergmann
2021-01-10  6:21     ` Willy Tarreau
2021-01-10 10:44       ` Russell King - ARM Linux admin
2021-01-11  9:50     ` David Laight
2021-01-13 10:27       ` Andy Shevchenko
2021-01-13 12:02         ` Linus Walleij
2021-01-13 12:17           ` Andy Shevchenko
2021-01-13 12:21             ` Andy Shevchenko
2021-01-15  0:03               ` Bernd Petrovitsch
2021-01-15  0:24                 ` William Breathitt Gray
2021-01-15  8:59                   ` David Laight
2021-01-13 12:30           ` William Breathitt Gray
2021-01-13 12:56             ` William Breathitt Gray
2021-01-13 13:44           ` Arnd Bergmann
2021-02-04 21:01         ` Pavel Machek
2021-02-05  9:13           ` David Laight
2021-02-05  9:29             ` Pavel Machek
2021-01-09 17:34 ` Florian Fainelli
2021-01-09 21:18   ` Arnd Bergmann
2021-01-09 17:43 ` Russell King - ARM Linux admin
2021-01-09 21:34   ` Arnd Bergmann
2021-01-11 20:09     ` Russell King - ARM Linux admin
2021-01-09 20:19 ` Baruch Siach
2021-01-09 21:19   ` Arnd Bergmann
     [not found] ` <67171E13-6786-4B44-A8C2-3302963B055F@gmail.com>
2021-01-09 22:20   ` Arnd Bergmann
2021-01-10 18:12     ` Fabian Vogt
2021-01-10 19:20       ` Arnd Bergmann
2021-01-10 21:33       ` Linus Walleij
2021-01-11  0:33         ` Russell King - ARM Linux admin
2021-01-11 12:32           ` Arnd Bergmann
2021-01-11 12:36             ` Russell King - ARM Linux admin
2021-01-09 23:12 ` Andrew Lunn
2021-01-10  8:45   ` Arnd Bergmann
2021-01-10 16:46     ` Andrew Lunn
2021-01-10 17:27       ` Arnd Bergmann
2021-01-10 19:51         ` Andrew Lunn
2021-01-10 15:51 ` Neil Armstrong
2021-01-10 15:56   ` Arnd Bergmann
2021-01-10 17:35 ` John Paul Adrian Glaubitz
2021-01-10 21:46   ` Sam Ravnborg
2021-01-11  8:05     ` John Paul Adrian Glaubitz
2021-01-11 14:55       ` chase rayfield
2021-01-12  0:26         ` Rob Landley
2021-01-12  0:50           ` chase rayfield
2021-01-12 14:37         ` John Paul Adrian Glaubitz
2021-01-11 18:09     ` Rob Landley
2021-01-11 15:04   ` Gerhard Pircher
2021-01-12 14:44     ` John Paul Adrian Glaubitz
2021-01-12 22:46       ` Linus Walleij
2021-01-13  8:09         ` Rob Landley
2021-01-13  8:21           ` Geert Uytterhoeven
2021-01-13 13:25             ` Rob Landley
2021-01-13 12:02           ` Andy Shevchenko
2021-01-13  8:15         ` Geert Uytterhoeven
2021-01-13 10:39         ` Arnd Bergmann
2021-01-14  3:54           ` New platforms: bring out your dead, was " Finn Thain
2021-01-14  9:41         ` John Paul Adrian Glaubitz
2021-01-14  9:48           ` Geert Uytterhoeven
2021-01-14 21:21           ` Arnd Bergmann
2021-01-14 22:54             ` Undesirable code, was Re: Old platforms etc Finn Thain
2021-01-14 23:09             ` Old platforms: bring out your dead Max Filippov
2021-01-15  8:31               ` Arnd Bergmann
2021-01-13  0:12       ` Old platforms never die, was " Finn Thain
2021-01-16  6:54         ` Rob Landley
2021-01-16 23:22           ` Finn Thain
2021-01-13 11:47       ` Andy Shevchenko
2021-01-11  1:39 ` Daniel Palmer
2021-01-11  9:15   ` John Paul Adrian Glaubitz
2021-01-11  9:20     ` Geert Uytterhoeven
2021-01-11  9:26       ` John Paul Adrian Glaubitz
2021-01-11  9:36         ` Geert Uytterhoeven
2021-01-11  9:50           ` Greg Ungerer
2021-01-11  9:42     ` Daniel Palmer
2021-01-11 10:13   ` Arnd Bergmann
2021-01-11  8:19 ` Geert Uytterhoeven
2021-01-11  8:59   ` Arnd Bergmann
2021-01-11  9:16     ` Geert Uytterhoeven
2021-01-11 10:28       ` Geert Uytterhoeven
2021-01-11 10:37         ` Arnd Bergmann
2021-01-11  9:40     ` Thomas Bogendoerfer
2021-01-11 10:34       ` Arnd Bergmann
2021-01-11  8:40 ` efm32 is dead [Was: Old platforms: bring out your dead] Uwe Kleine-König
2021-01-11 11:10 ` Old platforms: bring out your dead Viresh Kumar
2021-01-11 19:59   ` Arnd Bergmann
2021-01-11 21:15     ` Mattias Wallin
2021-01-11 21:47       ` Arnd Bergmann
2021-01-11 13:13 ` Marc Gonzalez
2021-01-11 17:29   ` Måns Rullgård
2021-01-11 21:50     ` Arnd Bergmann
2021-01-12  8:23       ` Marc Gonzalez
2021-01-11 14:22 ` Mark Salter
2021-01-11 15:00   ` Arnd Bergmann
2021-01-11 14:44 ` Alexander Shiyan
2021-01-11 14:58   ` Arnd Bergmann
2021-01-11 16:23 ` Sylvain Lemieux
2021-01-11 22:17   ` Alexandre Belloni
2021-01-11 19:58 ` Thomas Petazzoni
2021-01-11 20:10   ` Arnd Bergmann
2021-01-11 20:25 ` Song Bao Hua (Barry Song)
2021-01-12  8:41   ` Marc Gonzalez
2021-01-13 10:30 ` Andy Shevchenko
2021-01-13 11:02   ` Arnd Bergmann
2021-01-13 16:14 ` [v2] " Arnd Bergmann
2021-01-13 19:00   ` Krzysztof Hałasa
2021-01-14  8:51     ` Arnd Bergmann
2021-01-15  7:08   ` Wei Xu
2021-01-15  9:26     ` Arnd Bergmann
2021-01-15 11:09       ` Leizhen (ThunderTown)
2021-01-15 12:04         ` Arnd Bergmann
2021-01-18 10:46           ` Wei Xu
2021-01-13 22:27 ` Richard Z
2021-02-05 13:37 ` Alexander Lobakin
2021-10-23 17:44 ` Maciej W. Rozycki
2021-01-12  2:05 tedheadster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).