Jie pateikia pasiūlymą panaikinti seną ARM palaikymą „Linux“.

pašalinkite seną ARM palaikymą „Linux“.

Arndas Bergmanas, Linux branduolio kūrėjas iš arm-soc filialo ir branduolio paketų valdytojas SUSE išleido a pasiūlymas kuriame padeda ant stalo GCC pagrindu veikiančio branduolio pašalinimo problema ir sukurti kodo įrankius, skirtus palaikyti senesnius ARM procesorius, su jais susijusius ABI, instrukcijų rinkinius ir branduolio galimybes.

Arndas Bergmannas tai mini pasiūlymo pagrindas dėl paramos nutraukimo ARM CPU senas kernel yra dėl nutraukimo GCC, nes kai kurių siūlomų pašalinti CPU nebepalaiko naujausios GCC šakos, o kitus planuojama pašalinti būsimose laidose.

Paminėkite, kad taikydami tai, Bus lengviau modernizuoti ir diegti naujas kompiliatoriaus funkcijas. IRPanaikinus architektūros palaikymą GCC, ją reikės pašalinti iš branduolio, jei bus padidinta minimali branduolio palaikoma GCC versija (šiuo metu branduoliui kompiliuoti reikalinga bent GCC versija 5.1).

Tarp architektūrų, lustų ir plėtinių kurias siūloma pašalinti iš branduolio, minima:

  • ARMv3: Pašalinta GCC-9, todėl galiausiai jis bus pašalintas iš branduolio, kai padidės minimalios kompiliatoriaus versijos.
  • ARMv4: Naudojamas StrongARM ir FA526 procesoriams, vis dar kai kuriose plokštėse. Netgi naujausi lustai yra beveik 20 metų senumo. Paskutinė juos palaikė Debian versija buvo Lenny (5.0). Vis dar palaikomos šešios SoC šeimos su ARMv4T branduoliais (ARM720T, ARM920T ir ARM922T). Nors jie yra seni, juose yra daugiau vartotojų ir kūrėjų nei ARMv4. Paskutinis juos palaikė Debian Stretch (9.0).
  • ARMv5: Maždaug trečdalis palaikomų platformų naudoja ARMv5, tačiau daugumos jų palaikymas beveik baigiasi.
  • ARMv6 anksti: apima ARM1136r0p NXP i.MX31 ir OMAP24xx, daugiausia Nokia N8xx planšetiniame kompiuteryje. Norint palaikyti branduolius su SMP, reikia specialių įsilaužimų. Yra pataisa, kuri pakeičia ARMv6 iš suderinamo su ARMv7 į suderinamumą su ARMv5, tačiau reikia daugiau padirbėti.
  • ARMv6K
    ARMv7-M: Cortex-M3/M4/M7 yra vieninteliai branduoliai, palaikomi be MMU, šiuo metu 5 mikrovaldiklių platformose. Jie gali būti pašalinti 2027 m., tačiau GCC vis tiek turės juos palaikyti kitose operacinėse sistemose.
  • iWMMXt: nėra žinomų likusių iWMMXt vartotojų, o ARMv7 PJ4 procesorių palaikymas buvo pašalintas. Jis palaikomas tik „Intel“ / „Marvell“ PXA ir MMP1.
  • ARMv5 big endian branduolys (BE32): Jį naudoja tik vienas SoC – „Intel IXP4xx“. „Debian“ palaikė jį „little-endian“ režimu, tačiau tvarkyklės sugedusios LE.
  • ARMv7 Big Endian branduolys (BE8)
  • Param_struct pre-ATAGS: Tai buvo amortizuota 2001 m., kad būtų pašalinta per „5 metus“, kas jau įvyko.
  • ATAGS pagrįsti plokšteliniai failai: Po aukščiau nurodyto valymo liko 29 plokštės failai 10 SoC platformų.
  • OABI branduoliai: Beveik visi šiandien naudoja EABI, o OABI palaikymas buvo pašalintas kaip tikslas GCC-4.8. Branduolį vis tiek galima kurti kaip OABI su -mabi=apcs-gnu, pagal numatytuosius nustatymus naudojamas ARMv4/ARMv5 branduoliuose.
  • OABI suderinamas režimas: Tai leidžia paleisti OABI dvejetainius failus su EABI branduoliu.
  • NWFPE
  • Highmem: Dauguma ARM įrenginių gali veikti be „highmem“ palaikymo, naudodami CONFIG_VMSPLIT_2 GB, kad būtų galima apdoroti iki 2 GB fizinės atminties. Didesnės mašinos pasirodė su Cortex-A15 2012 m., greitai pakeistos 64 bitų lustais.
  • Sparsemem: Vyksta diskusija dėl paramos tradicinei sparsemem panaikinimo. Tai taip pat susiję su mašinomis, kurioms reikia „highmem“, kad būtų galima naudoti visą RAM
  • RiscPC: Tai seniausia palaikoma platforma ir galiausiai bus pašalinta, nes ji neveikia su GCC-9 ar naujesne versija dėl ARMv3 pašalinimo.
  • SA1100, pėsčiųjų tiltas: kitos StrongARM pagrindu sukurtos platformos, aktualios tik nostalgijai.
  • Dvyniai, Moxart: Abu naudoja Faraday FA526 procesoriaus branduolį, kuris, kaip ir StrongARM, įdiegia ARMv4, o ne ARMv4T nykščiu. Lustams taip pat daugiau nei 20 metų, tačiau branduolio kodas buvo atnaujintas ir tai nėra priežiūros našta.
  • PXA plokštės failai: PXA kode liko du plokšteliniai failai, kurie nebuvo pašalinti prieš dvejus metus, tikiuosi, kad tai padės konvertuoti į DT
  • OMAP1: vienintelė ARMv4T/ARMv5 platforma be DT palaikymo, todėl ją tam tikru momentu galima pašalinti.
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
  • OMAP24xx
  • iMX31, realview / integratorius su 1136r0
  • S3C64xx (Cragganmore): Tai vienintelė ARMv6K plokštė be įrenginių medžio palaikymo, o plokštės failas yra toks pat sudėtingas kaip ir visi kiti plokštės failai kartu. arch/arm/mach-s3c/Kconfig.s3c64xx nurodo, kad jis bus pašalintas kitų metų pradžioje, o tai leistų iš esmės išvalyti platformos infrastruktūrą ir tvarkykles.
  • „Orion5x“, „mv78xx0“, „dove board“ failai: Kaip ir PXA, jie buvo palikti laukiant DT konvertavimo, tačiau nieko neįvyko, išskyrus kai kuriuos nedidelius mv78xx0 pataisymus. Priešingai, Debianas pašalino orion5x branduolio dvejetainį failą, nurodydamas vartotojų trūkumą, todėl atrodo, kad daug mažiau tikėtina, kad jis bus baigtas.
  • iMX35, WM8750, AST2500, BCM2835: Visos šios keturios yra ARMv6K platformos ir yra gerai palaikomos, nors tik AST2500 ir BCM2835 turi aktyvią vartotojų bazę.
  • Stm32f4/f7/h7 mikrovaldikliai: Tai yra vieninteliai ne MMU Arm lustai, kurie toliau tobulinami, nes ST ir toliau remia savo esamus klientus.

Galiausiai reikėtų paminėti tai šis planas vis dar yra RFC stadijoje, tai yra paskelbtas bendruomenės diskusijai. Jei bus patvirtinta, siūloma pradėti senų ARM procesorių pašalinimą iš Linux 6.12 branduolio, tikimasi gruodžio mėn. Pirmieji pašalinami kandidatai yra ARMv4 (nepašalinus ARMv4T), iWMMXt, BE32 ir OABI.

Fuente: https://lkml.org