Arnd Bergmann, Linux kernelfejlesztő az arm-soc ágból és a SUSE kernelcsomagjainak menedzsere kiadta a javaslat amelyben az asztalra teszi a GCC alapú kernel eltávolításának kérdése és kódeszközöket hozzon létre a régebbi ARM CPU-k, a hozzájuk tartozó ABI-k, utasításkészletek és kernelképességek támogatására.
Arnd Bergmann megemlíti ezt a javaslat alapja a támogatás megszűnéséről ARM CPU-khoz régi a kernébena GCC-ben való leállás miatt, mivel az eltávolításra javasolt CPU-k egy része már nem támogatott a legújabb GCC-ágakban, másokat pedig a jövőbeni kiadásokban eltávolítanak.
Említse meg, hogy ennek alkalmazásával A fordítóprogramban a korszerűsítés és az új funkciók bevezetése elősegíthető. ÉSEgy architektúra támogatásának eltávolításához a GCC-ben el kell távolítani a kernelből, ha a kernel által támogatott minimális GCC-verzió megnő (jelenleg legalább a GCC 5.1-es verziója szükséges a kernel fordításához).
Architektúrák, chipek és bővítmények között amelyeket a rendszermagból eltávolítanak, a következőket említjük:
- ARMv3: Eltávolították a GCC-9-ben, így végül eltávolítják a kernelből, ahogy a fordítóprogramok minimális verziója nő.
- ARMv4: StrongARM és FA526 CPU-khoz használják, néhány kártyán még mindig. Még a legújabb chipek is közel 20 évesek. A Debian utolsó verziója, amely támogatta őket, a Lenny volt (5.0). Hat ARMv4T maggal rendelkező SoC család (ARM720T, ARM920T és ARM922T) továbbra is támogatott. Bár régiek, több felhasználójuk és fejlesztőjük van, mint az ARMv4-nek. A Debian Stretch (9.0) volt az utolsó, amelyik támogatta őket.
- ARMv5: A támogatott platformok körülbelül egyharmada ARMv5-öt használ, de a legtöbb támogatása a végéhez közeledik.
- ARMv6 korai: tartalmazza az ARM1136r0p-t az NXP i.MX31-ben és az OMAP24xx-ben, főleg a Nokia N8xx táblagépben. Az SMP-t használó kernelek támogatásához speciális feltörésekre van szükség. Van egy javítás, amely az ARMv6-ot ARMv7-tel kompatibilisről ARMv5-tel kompatibilissá változtatja, de még több munkát igényel.
- ARMv6K
ARMv7-M: A Cortex-M3/M4/M7 az egyetlen MMU nélkül támogatott mag, jelenleg 5 mikrokontroller platformon. 2027-ben eltávolíthatják őket, de a GCC-nek továbbra is támogatnia kell őket más operációs rendszereken. - iWMMXt: nincsenek ismert felhasználók az iWMMXt számára, és az ARMv7 PJ4 CPU-k támogatása megszűnt. Csak Intel/Marvell PXA és MMP1 támogatja.
- ARMv5 big endian kernel (BE32): Csak egy SoC használja, az Intel IXP4xx. A Debian támogatta a little-endian módban, de az illesztőprogramok LE-ben hibásak.
- ARMv7 big endian kernel (BE8)
- Param_struct pre-TAGS: Ezt 2001-ben amortizálták, "5 év alatt" meg kell szüntetni, ami már meg is történt.
- ATAGS alapú lemezfájlok: A fenti tisztítás után 29 kártyafájl maradt 10 SoC platformon.
- OABI kernelek: Ma gyakorlatilag mindenki EABI-t használ, és a GCC-4.8-ban eltávolították az OABI támogatását. A kernel továbbra is lehetővé teszi az OABI-ként való felépítést a -mabi=apcs-gnu paraméterrel, amely alapértelmezés szerint az ARMv4/ARMv5 kernelekben használatos.
- OABI kompatibilis mód: Ez lehetővé teszi az OABI binárisok futtatását EABI kernellel.
- NWFPE
- Highmem: A legtöbb ARM gép képes highmem támogatás nélkül is működni, CONFIG_VMSPLIT_2 GB használatával akár 2 GB fizikai memória kezelésére. A nagyobb gépek Cortex-A15-tel jelentek meg 2012-ben, amit gyorsan felváltottak a 64 bites chipek.
- Sparsemem: Vita folyik a hagyományos sparsemem támogatásának megszüntetéséről. Ez azokra a gépekre is vonatkozik, amelyeknek highmem-re van szükségük az összes RAM használatához
- RiscPC: Ez a legrégebbi támogatott platform, és végül eltávolítják, mivel az ARMv9 eltávolítása miatt nem működik a GCC-3 vagy újabb verziókkal.
- SA1100, gyaloghíd: más StrongARM-alapú platformok, amelyek csak a nosztalgia szempontjából relevánsak.
- Ikrek, Moxart: Mindkettő a Faraday FA526 CPU magot használja, amely a StrongARM-hez hasonlóan az ARMv4T helyett az ARMv4-et valósítja meg hüvelykujjal. A chipek is több mint 20 évesek, de a kernel kódja frissült és nem jelent karbantartási terhet.
- PXA tábla fájlok: Két lemezfájl maradt a PXA-kódban, amelyeket két éve nem távolítottak el, remélve, hogy ez segít a DT-re való átalakításban
- OMAP1: az egyetlen ARMv4T/ARMv5 platform, amely nem támogatja a DT-t, így egy bizonyos ponton el kell távolítani.
- Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
- OMAP24xx
- iMX31, realview/integrátor 1136r0-val
- S3C64xx (Cragganmore): Ez az egyetlen ARMv6K kártya, amely nem támogatja az eszközfát, és a táblafájl hasonló bonyolultságú, mint az összes többi kártyafájl együttvéve. Az arch/arm/mach-s3c/Kconfig.s3c64xx a jövő év elején eltávolítja, ami lehetővé tenné a platform infrastruktúrájának és illesztőprogramjainak nagy megtisztítását.
- Orion5x, mv78xx0, dove board fájlok: A PXA-hoz hasonlóan ezek is függőben maradtak a DT átalakítás felé, de semmi sem történt, kivéve néhány kisebb javítást az mv78xx0-ban. Ezzel szemben a Debian a felhasználók hiányára hivatkozva eltávolította az orion5x kernel binárisát, így sokkal kevésbé tűnik valószínűnek, hogy elkészül.
- iMX35, WM8750, AST2500, BCM2835: Ez a négy mind ARMv6K platform, és jól támogatott, bár csak az AST2500 és a BCM2835 rendelkezik aktív felhasználói bázissal.
- Stm32f4/f7/h7 mikrokontrollerek: Ezek az egyetlen nem MMU Arm chipek, amelyek folyamatosan fejlődnek, miközben az ST továbbra is támogatja meglévő ügyfeleit.
Végül meg kell említeni, hogy ez a terv még RFC fázisban van, azaz közösségi vitára publikált. Ha jóváhagyják, a javaslat szerint megkezdik a régi ARM processzorok eltávolítását a Linux 6.12-es kernelből, várhatóan decemberben. Az első eltávolítandó jelöltek az ARMv4 (az ARMv4T eltávolítása nélkül), az iWMMXt, a BE32 és az OABI.
forrás: https://lkml.org