Arnds Bergmans, Linux kodola izstrādātājs no arm-soc filiāles un kodola pakotņu pārvaldnieks SUSE izlaida a priekšlikums kurā viņš liek uz galda jautājums par GCC bāzes kodola noņemšanu un izveidot koda rīkus, lai atbalstītu vecākus ARM CPU, ar tiem saistītos ABI, instrukciju kopas un kodola iespējas.
Arnds Bergmans to piemin priekšlikuma pamatā par atbalsta pārtraukšanu ARM CPU vecs kodolāl ir saistīts ar pārtraukšanu GCC, jo daži no CPU, kas ierosināti noņemšanai, vairs netiek atbalstīti jaunākajās GCC filiālēs, un citus ir plānots noņemt turpmākajos laidienos.
Piemini, ka, piemērojot šo, Tiks veicināta modernizācija un jaunu funkciju ieviešana kompilatorā. UNLai noņemtu atbalstu GCC arhitektūrai, tā būs jānoņem no kodola, ja tiek palielināta minimālā kodola atbalstītā GCC versija (pašlaik kodola kompilēšanai ir nepieciešama vismaz GCC versija 5.1).
Starp arhitektūrām, mikroshēmām un paplašinājumiem kuras ir ierosināts noņemt no kodola, ir minēts:
- ARMv3: Noņemts GCC-9, tāpēc tas galu galā tiks noņemts no kodola, palielinoties kompilatoru minimālajai versijai.
- ARMv4: Izmanto StrongARM un FA526 centrālajiem procesoriem, joprojām uz dažām platēm. Pat jaunākās mikroshēmas ir gandrīz 20 gadus vecas. Pēdējā Debian versija, kas tos atbalstīja, bija Lenny (5.0). Joprojām tiek atbalstītas sešas SoC ģimenes ar ARMv4T kodoliem (ARM720T, ARM920T un ARM922T). Lai gan tie ir veci, tiem ir vairāk lietotāju un izstrādātāju nekā ARMv4. Debian Stretch (9.0) bija pēdējais, kas tos atbalstīja.
- ARMv5: Apmēram trešdaļa atbalstīto platformu izmanto ARMv5, taču lielākā daļa atbalsta to atbalsta beigām.
- ARMv6 agri: ietver ARM1136r0p NXP i.MX31 un OMAP24xx, galvenokārt Nokia N8xx planšetdatorā. Nepieciešami īpaši hakeri, lai atbalstītu kodolus ar SMP. Ir ielāps, kas maina ARMv6 no saderības ar ARMv7 uz saderīgu ar ARMv5, taču tam ir nepieciešams vairāk darba.
- ARMv6K
ARMv7-M: Cortex-M3/M4/M7 ir vienīgie kodoli, kas tiek atbalstīti bez MMU, pašlaik uz 5 mikrokontrolleru platformām. Tās varētu tikt noņemtas 2027. gadā, taču GCC joprojām būs jāatbalsta tās citās operētājsistēmās. - iWMMXt: nav zināmu atlikušo iWMMXt lietotāju, un atbalsts ARMv7 PJ4 CPU ir noņemts. To atbalsta tikai Intel/Marvell PXA un MMP1.
- ARMv5 lielais endijas kodols (BE32): To izmanto tikai viens SoC — Intel IXP4xx. Debian to atbalstīja mazajā režīmā, bet draiveri ir bojāti LE.
- ARMv7 lielais endijas kodols (BE8)
- Param_struct pre-TAGS: Tas tika amortizēts 2001.gadā, likvidējams "5 gados", kas jau ir noticis.
- Plākšņu faili, kuru pamatā ir ATAGS: Pēc iepriekš minētās tīrīšanas 29 SoC platformās ir palikuši 10 plates faili.
- OABI kodoli: Gandrīz visi mūsdienās izmanto EABI, un OABI atbalsts tika noņemts kā mērķis GCC-4.8. Kodols joprojām ļauj veidot kā OABI ar -mabi=apcs-gnu, ko pēc noklusējuma izmanto ARMv4/ARMv5 kodolos.
- OABI saderīgs režīms: Tas ļauj palaist OABI bināros failus ar EABI kodolu.
- NWFPE
- Highmem: Lielākā daļa ARM iekārtu var darboties bez highmem atbalsta, izmantojot CONFIG_VMSPLIT_2 GB, lai apstrādātu līdz 2 GB fizisko atmiņu. 15. gadā parādījās lielākas mašīnas ar Cortex-A2012, kuras ātri nomainīja 64 bitu mikroshēmas.
- Sparsemem: Notiek diskusija par atbalsta noņemšanu tradicionālajam sparsemem. Tas attiecas arī uz mašīnām, kurām ir nepieciešams highmem, lai izmantotu visu RAM
- RiscPC: Šī ir vecākā atbalstītā platforma, un galu galā tā tiks noņemta, jo tā nedarbojas ar GCC-9 vai jaunāku versiju ARMv3 noņemšanas dēļ.
- SA1100, laipa: citas uz StrongARM balstītas platformas, kas attiecas tikai uz nostalģiju.
- Dvīņi, Moksarts: Abi izmanto Faraday FA526 CPU kodolu, kas tāpat kā StrongARM ievieš ARMv4, nevis ARMv4T ar īkšķi. Arī mikroshēmas ir vecākas par 20 gadiem, taču kodola kods ir atjaunināts, un tas nav apkopes slogs.
- PXA plates faili: PXA kodā ir palikuši divi plāksnīšu faili, kas netika noņemti pirms diviem gadiem, cerot, ka tas palīdzēs konvertēt uz DT
- OMAP1: vienīgā ARMv4T/ARMv5 platforma bez DT atbalsta, padarot to par mērķi kādā brīdī noņemt.
- Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
- OMAP24xx
- iMX31, realview/integrators ar 1136r0
- S3C64xx (Cragganmore): Šī ir vienīgā ARMv6K plate bez ierīču koka atbalsta, un tāfeles fails ir tikpat sarežģīts kā visi citi plates faili kopā. arch/arm/mach-s3c/Kconfig.s3c64xx norāda, ka tā tiks noņemta nākamā gada sākumā, kas ļautu veikt lielu platformas infrastruktūras un draiveru tīrīšanu.
- Orion5x, mv78xx0, dove board faili: Tāpat kā PXA, tie tika atstāti gaidot virzību uz DT konvertēšanu, taču nekas nav noticis, izņemot dažus nelielus labojumus mv78xx0. Turpretim Debian ir noņēmis orion5x kodola bināro versiju, atsaucoties uz lietotāju trūkumu, tāpēc šķiet, ka tas tiks pabeigts daudz mazāk.
- iMX35, WM8750, AST2500, BCM2835: Visas šīs četras ir ARMv6K platformas un ir labi atbalstītas, lai gan tikai AST2500 un BCM2835 ir aktīva lietotāju bāze.
- Stm32f4/f7/h7 mikrokontrolleri: Šīs ir vienīgās mikroshēmas, kas nav MMU Arm un kuras turpina attīstīties, jo ST turpina atbalstīt savus esošos klientus.
Visbeidzot, tas ir jāpiemin šis plāns vēl ir RFC stadijā, tas ir, publicēts kopienas diskusijai. Ja tas tiks apstiprināts, tiek ierosināts sākt veco ARM procesoru noņemšanu Linux kodolā 6.12, kas paredzēts decembrī. Pirmie noņemamie kandidāti ir ARMv4 (neizņemot ARMv4T), iWMMXt, BE32 un OABI.
Fuente: https://lkml.org