Pokreću prijedlog za uklanjanje stare podrške za ARM u Linuxu

uklonite staru podršku za ARM na Linuxu

Arnd Bergmann, Programer Linux kernela iz ogranka arm-soc i upravitelj kernel paketa na SUSE-u, objavio je a prijedlog u kojoj stavlja na stol pitanje uklanjanja jezgre temeljene na GCC-u i stvoriti alate za kodiranje za podršku starijim ARM CPU-ima, njihovim povezanim ABI-jevima, skupovima instrukcija i mogućnostima jezgre.

Arnd Bergmann, spominje to osnovu prijedloga prestanka podrške za ARM procesore stari u kernel je zbog prekida GCC-a, budući da neke od CPU-ova predloženih za uklanjanje više ne podržavaju najnovije GCC grane, a druge se planira ukloniti u budućim izdanjima.

Napomenite da primjenom ovoga, Olakšat će se modernizacija i implementacija novih funkcija u kompajleru. IUklanjanje podrške za arhitekturu u GCC-u zahtijevat će njeno uklanjanje iz kernela ako se poveća minimalna GCC verzija koju kernel podržava (trenutno je za kompajliranje kernela potrebna barem GCC verzija 5.1).

Između arhitektura, čipova i ekstenzija koji se predlažu za uklanjanje iz kernela, spominju se sljedeći:

  • ARMv3: Uklonjeno u GCC-9, tako da će na kraju biti uklonjeno iz kernela kako se povećava minimalna verzija prevoditelja.
  • ARMv4: Koristi se za StrongARM i FA526 procesore, još uvijek na nekim pločama. Čak su i najnoviji čipovi stari blizu 20 godina. Posljednja verzija Debiana koja ih je podržavala bila je Lenny (5.0). Još uvijek je podržano šest SoC obitelji s ARMv4T jezgrama (ARM720T, ARM920T i ARM922T). Iako su stari, imaju više korisnika i programera od ARMv4. Debian Stretch (9.0) je bio posljednji koji ih je podržavao.
  • ARMv5: Otprilike trećina podržanih platformi koristi ARMv5, ali većina je pri kraju svoje podrške.
  • ARMv6 rano: uključuje ARM1136r0p u NXP i.MX31 i OMAP24xx, uglavnom Nokia N8xx tablet. Zahtijeva posebne hakove za podršku kernelima sa SMP-om. Postoji zakrpa koja mijenja ARMv6 iz kompatibilnosti s ARMv7 u kompatibilnost s ARMv5, ali treba još rada.
  • ARMv6K
    ARMv7-M: Cortex-M3/M4/M7 jedine su podržane jezgre bez MMU-a, trenutno na 5 platformi mikrokontrolera. Mogli bi biti uklonjeni 2027., ali GCC će ih i dalje morati podržavati na drugim operativnim sustavima.
  • iWMMXt: nema poznatih preostalih korisnika za iWMMXt, a podrška za ARMv7 PJ4 CPU je uklonjena. Podržan je samo u Intel/Marvell PXA i MMP1.
  • ARMv5 big endian kernel (BE32): Samo ga jedan SoC koristi, Intel IXP4xx. Debian ga podržava u little-endian modu, ali upravljački programi ne rade u LE.
  • ARMv7 big endian kernel (BE8)
  • Param_struct pre-ATAGS: To je amortizirano 2001. godine, da bi se ukinulo za "5 godina", što se već dogodilo.
  • Datoteke na bazi ATAGS ploča: Nakon gornjeg čišćenja, ostalo je 29 datoteka ploče na 10 SoC platformi.
  • OABI kerneli: Gotovo svi danas koriste EABI, a podrška za OABI uklonjena je kao cilj u GCC-4.8. Kernel i dalje dopušta izgradnju kao OABI s -mabi=apcs-gnu, koji se prema zadanim postavkama koristi u jezgrama ARMv4/ARMv5.
  • OABI Compat Mode: Ovo omogućuje pokretanje OABI binarnih datoteka s EABI kernelom.
  • NWFPE
  • Highmem: Većina ARM strojeva može raditi bez podrške za highmem pomoću CONFIG_VMSPLIT_2GB za adresiranje do 2GB fizičke memorije. Veći strojevi pojavili su se s Cortex-A15 2012., brzo zamijenjeni 64-bitnim čipovima.
  • Sparsemem: Postoji rasprava o uklanjanju podrške za tradicionalni sparsemem. Ovo se također odnosi na strojeve kojima je highmem potreban za korištenje cjelokupne RAM memorije
  • RiscPC: Ovo je najstarija podržana platforma i na kraju će biti uklonjena jer ne radi s GCC-9 ili novijim zbog uklanjanja ARMv3.
  • SA1100, pješački most: druge platforme temeljene na StrongARM-u, relevantne samo za nostalgiju.
  • Gemini, Moxart: Oba koriste Faraday FA526 CPU jezgru, koja poput StrongARM-a implementira ARMv4 umjesto ARMv4T s palcem. Čipovi su također stariji od 20 godina, ali kod kernela je ažuriran i ne predstavlja teret za održavanje.
  • Datoteke PXA ploče: Ostale su dvije datoteke ploča u PXA kodu koje nisu uklonjene prije dvije godine, nadajući se da će to pomoći konverziji u DT
  • OMAP1: jedina ARMv4T/ARMv5 platforma bez DT podrške, što je čini metom za uklanjanje u nekom trenutku.
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
  • OMAP24xx
  • iMX31, realview/integrator s 1136r0
  • S3C64xx (Cragganmore): Ovo je jedina ARMv6K ploča bez podrške za stablo uređaja, a datoteka ploče sadrži sličnu količinu složenosti kao i sve druge datoteke ploče zajedno. arch/arm/mach-s3c/Kconfig.s3c64xx navodi ga za uklanjanje početkom sljedeće godine, što bi omogućilo veliko čišćenje infrastrukture platforme i upravljačkih programa.
  • Orion5x, mv78xx0, datoteke dove ploče: Kao i PXA, oni su ostavljeni na čekanju napredovanja prema DT pretvorbi, ali ništa se nije dogodilo osim nekih manjih popravaka u mv78xx0. Nasuprot tome, Debian je uklonio orion5x binarnu datoteku kernela navodeći nedostatak korisnika, pa se čini da je manje vjerojatno da će biti dovršena.
  • iMX35, WM8750, AST2500, BCM2835: Ove četiri su sve ARMv6K platforme i dobro su podržane, iako samo AST2500 i BCM2835 imaju aktivnu bazu korisnika.
  • Stm32f4/f7/h7 mikrokontroleri: Ovo su jedini ne-MMU Arm čipovi koji imaju kontinuirani razvoj dok ST nastavlja podržavati svoje postojeće kupce.

Na kraju treba spomenuti da ovaj plan je još uvijek u RFC fazi, odnosno objavljeno za raspravu zajednice. Ako se odobri, predlaže se početak uklanjanja starih ARM procesora u jezgri Linuxa 6.12, što se očekuje u prosincu. Prvi kandidati za uklanjanje su ARMv4 (bez uklanjanja ARMv4T), iWMMXt, BE32 i OABI.

izvor: https://lkml.org


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.