Plani për ndërprerjen e mbështetjes për procesorët e vjetër ARM në kernelin Linux

Arnd Bergmann, që është përgjegjës për paketat e bërthamës në SUSE, publikoi në listën e postës elektronike të zhvilluesve të bërthamës Linux një plan për eliminimin e mbështetjes për CPU të vjetra ARM dhe ABI të lidhura, instruktion set dhe mundësi bërthame në GCC. Plani është ende në fazën RFC, që do të thotë se është hapur për diskutim me komunitetin. Në rast se plani miratohet, propozimi për eliminimin e procesorëve të vjetër ARM do të nisë në bërthamën Linux 6.12, e cila pritet të lëshohet në dhjetor. Kandidatët e parë për eliminim përfshijnë ARMv4 (pa eliminuar ARMv4T), iWMMXt, BE32 dhe OABI.

Pushimi i mbĂ«shtetjes pĂ«r CPU tĂ« vjetra ARM nĂ« bĂ«rthamĂ« pĂ«rputhet me pushimin e mbĂ«shtetjes sĂ« tyre nĂ« GCC — disa prej CPU-ve tĂ« propozuara pĂ«r eliminim tashmĂ« nuk mbĂ«shteten nĂ« degĂ«t e reja tĂ« GCC, ndĂ«rsa disa planifikohen tĂ« eliminohen nĂ« lĂ«shime tĂ« ardhshme, gjĂ« qĂ« do ta thjeshtojĂ« modernizimin dhe implementimin e mundĂ«sive tĂ« reja nĂ« kompilator. Eliminimi i mbĂ«shtetjes pĂ«r arkitekturĂ«n nĂ« GCC do tĂ« kĂ«rkojĂ« gjithashtu eliminimin e mbĂ«shtetjes nga bĂ«rthama nĂ« rast se versioni minimal i mbĂ«shtetur nga bĂ«rthama tĂ« rritet (aktualisht, pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s kĂ«rkohet sĂ« paku versioni GCC 5.1).

Arkitekturat, çipat dhe zgjerimet që propozohet të eliminen nga bërthama:

  • ARMv3 — mbĂ«shtetja tashmĂ« Ă«shtĂ« ndalur nĂ« GCC 9.
  • ARMv4 — pĂ«rdoret pĂ«r procesorĂ«t e zakonshĂ«m StrongARM dhe FA526, ndĂ«rsa çipat mĂ« tĂ« rinj tĂ« kĂ«tij tipi janĂ« lĂ«shuar rreth 20 vjet mĂ« parĂ«. MbĂ«shtetja pĂ«r ARMv4 Ă«shtĂ« ndalur nĂ« Debian 5.0. Propozohet fillimisht ndalimi i mbĂ«shtetjes pĂ«r ARMv4 nĂ« GCC, dhe pas disa vjetĂ«sh edhe nĂ« bĂ«rthamĂ«.
  • ARMv4T — pĂ«rdoren 6 familje SoC me bĂ«rthama ARM720T, ARM920T dhe ARM922T, tĂ« cilat janĂ« mĂ« tĂ« zakonshme se SoC tĂ« bazuara nĂ« ARMv4. MbĂ«shtetja pĂ«r ARMv4T Ă«shtĂ« ndalur nĂ« Debian 9.0. Ndalimi i mbĂ«shtetjes pĂ«r ARMv4T nĂ« bĂ«rthamĂ« planifikohet tĂ« ndodhĂ«, jo mĂ« herĂ«t se ndalimi i mbĂ«shtetjes pĂ«r ARMv5.
  • ARMv5 — pĂ«rdoret nĂ« rreth 1/3 tĂ« tĂ« gjitha platformave tĂ« mbĂ«shtetura nĂ« bĂ«rthamĂ«, por shumica e kĂ«tyre platformave janĂ« afĂ«r pĂ«rfundimit tĂ« ciklit tĂ« jetĂ«s. Debian vazhdon tĂ« mbĂ«shtesĂ« ARMv5, por pĂ«r shkak tĂ« mungesĂ«s sĂ« FPU dhe operacioneve atomike, mbĂ«shtetja bĂ«het gjithnjĂ« e mĂ« e vĂ«shtirĂ« dhe, me siguri, nĂ« njĂ« tĂ« ardhme tĂ« afĂ«rt porti Debian pĂ«r ARMv5 do tĂ« kalojĂ« nĂ« kategorinĂ« e tĂ« paqĂ«ndrueshĂ«m.
  • Gjenaracionet fillestare ARMv6 — pĂ«rdoren nĂ« SoC si ARM1136r0p (NXP i.MX31) dhe OMAP24xx (Nokia N8xx), por mbĂ«shtetja e tyre kĂ«rkon hack qĂ« tĂ« funksionojnĂ« nĂ« bĂ«rthama me SMP.
  • ARMv6K — pĂ«rdoret nĂ« ARM1176 (Raspberry Pi 1, AST2500) dhe ARM1136r1. NĂ« bĂ«rthamĂ« nuk ka pengesa pĂ«r tĂ« ndaluar mbĂ«shtetje, por nĂ« distribuplatforma paraqiten vĂ«shtirĂ«si pĂ«r shkak tĂ« mosprerjes sĂ« tipit nĂ« armv7-a+vfpv3-d16.
  • ARMv7-M — pĂ«rdoret nĂ« mikroprocesorĂ«t e bazuar nĂ« Cortex-M3/M4/M7, qĂ« mbeten tĂ« fundit tĂ« mbĂ«shtetur nĂ« bĂ«rthamĂ«n e çipave pa njĂ« njĂ«sinĂ« e menaxhimit tĂ« memories (MMU). Puna pĂ«r bĂ«rthama nĂ« sistemet pa MMU u ndĂ«rpre nĂ« vitin 2017, pas kalimit nga kĂ«ta çipa nĂ« zhvillimin e RTOS, si Zephyr. Sugjerohet qĂ« mbĂ«shtetja ARMv7-M tĂ« hiqet nĂ« vitin 2027, pas 10 vjetĂ«sh, pas ndĂ«rprerjes sĂ« zhvillimit, megjithatĂ« mbĂ«shtetja vazhdon nĂ« GCC.
  • iWMMXt — nĂ« bĂ«rthamĂ« tashmĂ« Ă«shtĂ« ndaluar mbĂ«shtetja pĂ«r CPU ARMv7 PJ4 (MMP2, Berlin), pas sĂ« cilĂ«s nuk ka mbetur asnjĂ« sistem qĂ« pĂ«rdor kĂ«tĂ« grup instrukcionesh. MbĂ«shtetja pĂ«r iWMMXt Ă«shtĂ« ndaluar gjithashtu nĂ« Clang dhe Ă«shtĂ« propozuar pĂ«r t'u hequr nga GCC.
  • BE32 (big endian ARMv5) — pĂ«rdoret vetĂ«m nĂ« njĂ« SoC Intel IXP4xx. NĂ« versionet e vjetra tĂ« Debian-it mbĂ«shtetej vetĂ«m mĂ«nyra little-endian, por nĂ« driver-at ka probleme tĂ« pazgjidhura. Propozohet qĂ« mbĂ«shtetja BE32 tĂ« hiqet nga GCC dhe bĂ«rthama, pasi nĂ« driver-at nuk Ă«shtĂ« bĂ«rĂ« pĂ«rpjekje pĂ«r tĂ« zgjidhur problemet pĂ«r disa vjet.
  • BE8 (big-endian ARMv7) — nĂ« shumĂ« driver-a ka probleme, ndalimi i testimit tĂ« funksionimit dhe nuk ka informacione pĂ«r pajisjet qĂ« pĂ«rdoren ende. MĂ«nyra BE8 mund tĂ« ketĂ« interes pĂ«r testimin e komponenteve tĂ« hapĂ«sirĂ«s sĂ« pĂ«rdoruesit nĂ« sistemet big-endian, prandaj mbĂ«shtetja BE8 planifikohet tĂ« ruhet nĂ« bĂ«rthamĂ« dhe GCC pĂ«r disa vite mĂ« shumĂ« deri sa tĂ« fillojĂ« tĂ« shkaktojĂ« probleme.

Mundësitë e propozuara për t'u hequr nga bërthama Linux:

  • Struktura param_struct, e pĂ«rdorur deri nĂ« ATAGS (ARM Tag-Area) — shpallet e vjetruar qĂ« nĂ« vitin 2001, por ende pĂ«rdoret nĂ« kodin pĂ«r platformat RiscPC dhe Footbridge.
  • SkedarĂ«t me parametra bazuar nĂ« strukturĂ«n ATAGS (e pĂ«rdorur pĂ«r tĂ« transmetuar informacionin e konfigurimit deri nĂ« Device Tree) — nĂ« bĂ«rthamĂ« ka 29 skedarĂ« tĂ« mbetur qĂ« lidhin 10 platformat SoC qĂ« pĂ«rdorin ATAGS.
  • OABI (Old ABI, ABI i vjetĂ«r pĂ«r arkitekturĂ«n ARM) – tani pĂ«rdoret gjerĂ«sisht EABI (Embedded ABI). OABI Ă«shtĂ« shkaku i shumĂ« gabimeve, pasi zhvilluesit e drejtuesve kanĂ« ndaluar sĂ« marrĂ« parasysh disa karakteristika tĂ« lidhura me tĂ«. MbĂ«shtetje pĂ«r OABI gjatĂ« ndĂ«rtimit tĂ« komponenteve pĂ«r hapĂ«sirĂ«n e pĂ«rdoruesit Ă«shtĂ« ndĂ«rprerĂ« nĂ« GCC 4.8, por pĂ«r bĂ«rthamĂ«n Ă«shtĂ« lĂ«nĂ« njĂ« flags "-mabi=apcs-gnu". Sugjerohet qĂ« tĂ« mbetet OABI, por tĂ« komplikohet pĂ«rfshirja e tij pĂ«r shkak tĂ« neglizhencĂ«s.
  • Regjimi i kompatibilitetit me OABI (OABI_COMPAT) – lejon ekzekutimin e skedarĂ«ve ekzekutivĂ« tĂ« ndĂ«rtuar pĂ«r OABI, duke pĂ«rdorur njĂ« bĂ«rthamĂ« me EABI. Shfaqen probleme tĂ« veçanta nĂ« drejtues pĂ«r shkak tĂ« pakompaktĂ«sisĂ« me ioctl, por ngarkesa e mirĂ«mbajtjes sĂ« kĂ«tij regjimi Ă«shtĂ« dukshĂ«m mĂ« e vogĂ«l se ajo e bĂ«rthamave me OABI. PĂ«r tĂ« ruajtur mbĂ«shtetje pĂ«r StrongARM, do tĂ« ishte e arsyeshme tĂ« mbĂ«shtetet OABI ose OABI_COMPAT.
  • NWFPE (No Floating Point Emulator, emulator pĂ«r kryerjen e operacioneve me pikĂ« flotante) – patches pĂ«r heqjen e tij janĂ« propozuar qĂ« 11 vjet mĂ« parĂ«, por NWFPE kĂ«rkohet pĂ«r funksionimin e disa komponenteve tĂ« hapĂ«sirĂ«s sĂ« pĂ«rdoruesit, tĂ« ndĂ«rtuara pĂ«r OABI, prandaj mbĂ«shtetja pĂ«r NWFPE rekomandohet tĂ« ruhet derisa tĂ« mbetet mbĂ«shtetje pĂ«r OABI ose OABI_COMPAT nĂ« bĂ«rthamĂ«.
  • Highmem ( pĂ«rdoret pĂ«r menaxhimin e memorjes nĂ« zona pas 1 GB) – shumica e sistemeve ARM mund tĂ« funksionojnĂ« pa pĂ«rfshirjen e highmem ose mund tĂ« pĂ«rdorin CONFIG_VMSPLIT_2GB pĂ«r tĂ« aksesuar 2GB e para tĂ« memories fizike. ËshtĂ« nĂ« zhvillim njĂ« qasje pĂ«r tĂ« siguruar akses nĂ« 4 GB RAM nĂ« sistemet me LPAE (Cortex-A7/A15), pas pĂ«rfundimit tĂ« sĂ« cilĂ«s mbĂ«shtetja pĂ«r Highmem mund tĂ« hiqet.
  • Sparsemem – kĂ«rkohet pĂ«r sistemet qĂ« kanĂ« nevojĂ« pĂ«r highmem.

Plarformet e propozuara për heqje:

  • RiscPC – platforma mĂ« e vjetĂ«r e mbĂ«shtetur nĂ« bĂ«rthamĂ«. Nuk mbĂ«shtetet nĂ« GCC, duke filluar nga dega 9.x pĂ«r shkak tĂ« heqjes sĂ« mbĂ«shtetjes pĂ«r ARMv3. MbrojtĂ«si vazhdon tĂ« testi punĂ«n e bĂ«rthamĂ«s nĂ« kĂ«tĂ« platformĂ«, por duket se nuk ka pĂ«rdorues real, prandaj mbĂ«shtetja mund tĂ« ndĂ«rpritet nĂ« rast se humbet interesi i mbrojtĂ«sit.
  • SA1100, Footbridge – platforma tĂ« vjetra, tĂ« ruajtura ndoshta vetĂ«m pĂ«r arsye nostalgjie. Pothuajse tĂ« gjitha skedarĂ«t me pĂ«rshkrimin e plarformave pĂ«r kĂ«to platforma janĂ« fshirĂ« nĂ« bĂ«rthamĂ«n 6.3, mbetet vetĂ«m mbĂ«shtetja pĂ«r pajisjet ipaq h3600, assabet, netwinder dhe ebsa285. Çështja e heqjes varet nga qĂ«llimet e mbrojtĂ«sit.
  • Gemini, Moxart — pĂ«rdorin CPU bazuar nĂ« ARMv4. Çipat janĂ« prodhuar mĂ« shumĂ« se 20 vjet mĂ« parĂ«, por mbĂ«shtetja e tyre nuk kĂ«rkon pĂ«rpjekje shtesĂ« nĂ« mirĂ«mbajtje, prandaj nuk ka kuptim t'i hiqni ato deri nĂ« heqjen e platformĂ«s StrongARM.
  • SkedarĂ«t pĂ«r mbĂ«shtetje tĂ« PXA — platforma janĂ« ne njĂ« gjendje tĂ« braktisur dhe kanĂ« dalĂ« nga pĂ«rdorimi, nĂ«se interesi pĂ«r to nuk rikthehet, ato pritet tĂ« hiqen nĂ« fillim tĂ« vitit 2025.
  • OMAP1 — nga njĂ«ra anĂ« mbetet platforma e vetme bazuar nĂ« ARMv4T/ARMv5 pa mbĂ«shtetje pĂ«r Device Tree dhe nuk janĂ« vĂ«rejtur lĂ«vizje drejt kalimit nĂ« Device Tree, por nga ana tjetĂ«r, platforma ka ende pĂ«rdorues.
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1 — pĂ«rdorin CPU bazuar nĂ« ARMv4T. Po bĂ«hen punĂ« pĂ«r tĂ« pĂ«rkthyer pĂ«rshkrimet e pllakave nĂ« Device Tree, por ka kuptim tĂ« mbahen vetĂ«m derisa tĂ« ruhet mbĂ«shtetja pĂ«r ARMv5.
  • OMAP24xx — platforma e vetme bazuar nĂ« ARMv6 qĂ« ka pĂ«rdorues aktivĂ«. Ruajtja e mbĂ«shtetjes varet nga ruajtja e mbĂ«shtetjes pĂ«r CPU arm1136r0.
  • iMX31 — nuk ka informacion pĂ«r praninĂ« e pĂ«rdoruesve aktivĂ«, por nuk ka kuptim tĂ« hiqet para OMAP2.
  • S3C64xx (Cragganmore) — platforma e vetme pa mbĂ«shtetje pĂ«r Device Tree, e ndĂ«rtuar mbi ARMv6K. Platforma vazhdon tĂ« pĂ«rdoret pĂ«r testimin e kodekĂ«ve tĂ« zĂ«rit, prandaj heqja Ă«shtĂ« shtyrĂ« derisa testimi tĂ« kalojĂ« nĂ« njĂ« pllakĂ« tjetĂ«r.
  • Orion5x, mv78xx0 — çështjen e heqjes planifikojnĂ« ta shqyrtojnĂ« nĂ« fillim tĂ« vitit tĂ« ardhshĂ«m.
  • iMX35, WM8750, AST2500, BCM2835 — mbĂ«shteten mirĂ« dhe kanĂ« pĂ«rdorues aktivĂ«, nuk planifikohet tĂ« hiqen pĂ«r momentin.
  • stm32f4/f7/h7 — mikroçipĂ«t pa MMU, mirĂ«mbajtja nĂ« bĂ«rthamĂ« vazhdon dhe janĂ« pĂ«rdorues aktivĂ«. Çështjen e heqjes planifikojnĂ« ta shqyrtojnĂ« nĂ« vitin 2026.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster