Arnd Bergmann, Zhvilluesi i kernelit Linux nga dega arm-soc dhe përgjegjës për paketat e kernelit në SUSE, lëshoi një Propuesta në të cilën ai vendos në tavolinë çështja e heqjes së kernelit të bazuar në GCC dhe krijoni mjete kodi për të mbështetur CPU-të e vjetra ARM, ABI-të e tyre të lidhura, grupet e instruksioneve dhe aftësitë e kernelit.
Arnd Bergmann, e përmend këtë bazën e propozimit të ndërprerjes së mbështetjes për CPU-të ARM plak në kerneUnë jam për shkak të ndërprerjes në GCC, pasi disa nga CPU-të e propozuara për heqje nuk mbështeten më në degët më të fundit të GCC dhe të tjerat janë planifikuar të hiqen në versionet e ardhshme.
Përmendni se duke aplikuar këtë, Do të lehtësohet modernizimi dhe zbatimi i funksioneve të reja në përpilues. DHEHeqja e mbështetjes për një arkitekturë në GCC do të kërkojë heqjen e saj nga kerneli nëse rritet versioni minimal i GCC i mbështetur nga kerneli (aktualisht, të paktën versioni 5.1 i GCC kërkohet për të përpiluar kernelin).
Midis arkitekturave, çipave dhe shtesave që propozohen të hiqen nga kerneli, përmenden këto:
- ARMv3: Hequr në GCC-9, kështu që përfundimisht do të hiqet nga kerneli me rritjen e versioneve minimale të përpiluesit.
- ARMv4: Përdoret për CPU-të StrongARM dhe FA526, ende në disa tabela. Edhe patate të skuqura më të reja janë afër 20 vjeç. Versioni i fundit i Debian që i mbështeti ata ishte Lenny (5.0). Gjashtë familje SoC me bërthama ARMv4T (ARM720T, ARM920T dhe ARM922T) janë ende të mbështetura. Edhe pse janë të vjetër, ata kanë më shumë përdorues dhe zhvillues se ARMv4. Debian Stretch (9.0) ishte i fundit që i mbështeti ata.
- ARMv5: Rreth një e treta e platformave të mbështetura përdorin ARMv5, por shumica janë afër fundit të mbështetjes së tyre.
- ARMv6 herët: përfshin ARM1136r0p në NXP i.MX31 dhe OMAP24xx, kryesisht tabletin Nokia N8xx. Kërkon hakime të veçanta për të mbështetur kernelet me SMP. Ekziston një patch që e ndryshon ARMv6 nga të qenit i pajtueshëm me ARMv7 në të qenit i pajtueshëm me ARMv5, por kërkon më shumë punë.
- ARMv6K
ARMv7-M: Cortex-M3/M4/M7 janë bërthamat e vetme të mbështetura pa MMU, aktualisht në 5 platforma mikrokontrollues. Ato mund të hiqen në vitin 2027, por GCC do të duhet ende t'i mbështesë ato në sisteme të tjera operative. - iWMMXt: nuk ka përdorues të mbetur të njohur për iWMMXt dhe mbështetja për CPU-të ARMv7 PJ4 është hequr. Mbështetet vetëm në Intel/Marvell PXA dhe MMP1.
- ARMv5 kerneli i madh endian (BE32): Vetëm një SoC e përdor atë, Intel IXP4xx. Debian e mbështeti atë në modalitetin pak-endian, por drejtuesit janë të prishur në LE.
- ARMv7 kerneli i madh endian (BE8)
- Param_struct para ATAGS: Kjo u amortizua në vitin 2001, për t'u eliminuar në "5 vjet", gjë që tashmë ka ndodhur.
- Skedarët e pllakave të bazuara në ATAGS: Pas pastrimit të mësipërm, kanë mbetur 29 skedarë bordi në 10 platforma SoC.
- Bërthamat e OABI: Pothuajse të gjithë përdorin EABI sot dhe mbështetja e OABI u hoq si objektiv në GCC-4.8. Kerneli ende lejon të ndërtohet si OABI me -mabi=apcs-gnu, i përdorur si parazgjedhje në kernelët ARMv4/ARMv5.
- Modaliteti i përputhshmërisë OABI: Kjo lejon ekzekutimin e binarëve OABI me një kernel EABI.
- NWFPE
- Lartësia: Shumica e makinerive ARM mund të funksionojnë pa mbështetje me memorie të lartë duke përdorur CONFIG_VMSPLIT_2GB për të adresuar deri në 2 GB memorie fizike. Makinat më të mëdha u shfaqën me Cortex-A15 në 2012, të zëvendësuara shpejt me çipa 64-bit.
- Sparsemem: Ka një diskutim rreth heqjes së mbështetjes për sparsememin tradicional. Kjo gjithashtu lidhet me makinat që kanë nevojë për highmem për të përdorur të gjithë RAM-in e tyre
- RiscPC: Kjo është platforma më e vjetër e mbështetur dhe do të hiqet përfundimisht, pasi nuk funksionon me GCC-9 ose më të lartë për shkak të heqjes së ARMv3.
- SA1100, urë këmbësore: platforma të tjera të bazuara në StrongARM, të rëndësishme vetëm për nostalgji.
- Binjakët, Moxart: Të dy përdorin bërthamën e CPU-së Faraday FA526, e cila si StrongARM zbaton ARMv4 në vend të ARMv4T me gishtin e madh. Çipat janë gjithashtu mbi 20 vjeç, por kodi i kernelit është përditësuar dhe nuk është një barrë mirëmbajtjeje.
- Skedarët e bordit PXA: Ka dy skedarë pllakash të mbetura në kodin PXA të pa hequra dy vjet më parë, duke shpresuar se kjo do të ndihmonte konvertimin në DT
- OMAP1: platforma e vetme ARMv4T/ARMv5 pa mbështetje DT, duke e bërë atë një objektiv për heqje në një moment.
- Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
- OMAP24xx
- iMX31, realview/integrues me 1136r0
- S3C64xx (Cragganmore): Ky është i vetmi bord ARMv6K pa mbështetje për pemën e pajisjes dhe skedari i bordit përmban një sasi të ngjashme kompleksiteti si të gjithë skedarët e tjerë të bordit të kombinuara. arch/arm/mach-s3c/Kconfig.s3c64xx e rendit atë për heqje në fillim të vitit të ardhshëm, gjë që do të mundësonte një pastrim të madh të infrastrukturës së platformës dhe drejtuesve.
- Skedarët e tabelës Orion5x, mv78xx0, dove: Ashtu si PXA, këto u lanë në pritje të përparimit drejt konvertimit të DT, por asgjë nuk ka ndodhur përveç disa rregullimeve të vogla në mv78xx0. Në të kundërt, Debian ka hequr binarin e kernelit orion5x duke përmendur mungesën e përdoruesve, kështu që duket shumë më pak e mundshme për t'u përfunduar.
- iMX35, WM8750, AST2500, BCM2835: Këto katër janë të gjitha platforma ARMv6K dhe janë të mbështetura mirë, megjithëse vetëm AST2500 dhe BCM2835 kanë një bazë aktive përdoruesish.
- Mikrokontrolluesit Stm32f4/f7/h7: Këta janë çipat e vetëm jo-MMU Arm që shohin zhvillim të vazhdueshëm pasi ST vazhdon të mbështesë klientët e saj ekzistues.
Në fund, duhet përmendur se ky plan është ende në fazën RFC, domethënë, botuar për diskutim në komunitet. Nëse miratohet, propozohet të fillojë heqja e procesorëve të vjetër ARM në kernelin Linux 6.12, që pritet në dhjetor. Kandidatët e parë që do të hiqen janë ARMv4 (pa hequr ARMv4T), iWMMXt, BE32 dhe OABI.
Fuente: https://lkml.org