Naglulunsad sila ng panukalang alisin ang lumang suporta sa ARM sa Linux

alisin ang lumang suporta ng ARM sa Linux

Arnd Bergmann, Linux kernel developer mula sa arm-soc branch at namamahala sa kernel packages sa SUSE, naglabas ng a panukala kung saan inilalagay niya sa mesa ang isyu ng pag-alis ng GCC based kernel at lumikha ng mga tool ng code upang suportahan ang mga mas lumang ARM CPU, ang kanilang mga nauugnay na ABI, set ng pagtuturo, at mga kakayahan ng kernel.

Arnd Bergmann, binanggit iyon ang batayan ng panukala ng pagtigil ng suporta para sa mga ARM CPU matanda sa kernel ay dahil sa paghinto sa GCC, dahil ang ilan sa mga CPU na iminungkahi para sa pag-alis ay hindi na suportado sa pinakabagong mga sangay ng GCC, at ang iba ay binalak na alisin sa mga susunod na release.

Banggitin na sa pamamagitan ng paglalapat nito, Ang modernisasyon at pagpapatupad ng mga bagong function sa compiler ay mapapadali. ATAng pag-alis ng suporta para sa isang arkitektura sa GCC ay mangangailangan ng pag-alis nito mula sa kernel kung ang minimum na bersyon ng GCC na sinusuportahan ng kernel ay tumaas (sa kasalukuyan, hindi bababa sa GCC na bersyon 5.1 ang kinakailangan upang i-compile ang kernel).

Sa pagitan ng mga arkitektura, chips at extension na iminungkahing alisin mula sa kernel, ang mga sumusunod ay nabanggit:

  • ARMv3: Inalis sa GCC-9, kaya sa kalaunan ay aalisin ito sa kernel habang tumataas ang mga minimum na bersyon ng compiler.
  • ARMv4: Ginagamit para sa StrongARM at FA526 na mga CPU, nasa ilang board pa rin. Kahit na ang pinakabagong mga chips ay malapit na sa 20 taong gulang. Ang huling bersyon ng Debian na sumuporta sa kanila ay Lenny (5.0). Anim na pamilya ng SoC na may mga ARMv4T core (ARM720T, ARM920T at ARM922T) ang sinusuportahan pa rin. Bagama't matanda na sila, mas marami silang user at developer kaysa sa ARMv4. Ang Debian Stretch (9.0) ang huling sumuporta sa kanila.
  • ARMv5: Humigit-kumulang isang katlo ng mga sinusuportahang platform ang gumagamit ng ARMv5, ngunit karamihan ay malapit nang matapos ang kanilang suporta.
  • ARMv6 maaga: kasama ang ARM1136r0p sa NXP i.MX31 at OMAP24xx, pangunahin ang Nokia N8xx tablet. Nangangailangan ng mga espesyal na hack upang suportahan ang mga kernel na may SMP. May patch na nagbabago sa ARMv6 mula sa pagiging compatible sa ARMv7 tungo sa pagiging compatible sa ARMv5, ngunit nangangailangan ito ng mas maraming trabaho.
  • ARMv6K
    ARMv7-M: Ang Cortex-M3/M4/M7 ay ang tanging mga core na sinusuportahan nang walang MMU, na kasalukuyang nasa 5 microcontroller platform. Maaaring alisin ang mga ito sa 2027, ngunit kakailanganin pa rin ng GCC na suportahan ang mga ito sa iba pang mga operating system.
  • iWMMXt: walang kilalang natitirang mga user para sa iWMMXt, at ang suporta para sa ARMv7 PJ4 na mga CPU ay inalis na. Ito ay sinusuportahan lamang sa Intel/Marvell PXA at ​​MMP1.
  • ARMv5 malaking endian kernel (BE32): Isang SoC lamang ang gumagamit nito, ang Intel IXP4xx. Sinuportahan ito ni Debian sa little-endian mode, ngunit ang mga driver ay sira sa LE.
  • ARMv7 malaking endian kernel (BE8)
  • Param_struct pre-ATAGS: Ito ay na-depreciate noong 2001, na aalisin sa "5 taon", na nangyari na.
  • TAGS based plate files: Pagkatapos ng paglilinis sa itaas, may 29 na board file na natitira sa 10 SoC platform.
  • Mga OABI Kernel: Halos lahat ay gumagamit ng EABI ngayon, at ang suporta sa OABI ay inalis bilang target sa GCC-4.8. Pinapayagan pa rin ng kernel na mabuo bilang OABI na may -mabi=apcs-gnu, na ginagamit bilang default sa mga kernel ng ARMv4/ARMv5.
  • OABI Compat Mode: Nagbibigay-daan ito sa pagpapatakbo ng mga binary ng OABI na may EABI kernel.
  • NWFPE
  • Highmem: Karamihan sa mga ARM machine ay maaaring gumana nang walang suporta sa highmem gamit ang CONFIG_VMSPLIT_2GB upang tugunan ang hanggang 2GB ng pisikal na memorya. Lumitaw ang mas malalaking machine kasama ang Cortex-A15 noong 2012, na mabilis na pinalitan ng 64-bit chips.
  • Sparsemem: Mayroong talakayan tungkol sa pag-alis ng suporta para sa tradisyonal na sparsemem. Nauugnay din ito sa mga makina na nangangailangan ng highmem upang magamit ang lahat ng kanilang RAM
  • RiscPC: Ito ang pinakalumang platform na sinusuportahan, at sa kalaunan ay aalisin, dahil hindi ito gumagana sa GCC-9 o mas mataas dahil sa pag-alis ng ARMv3.
  • SA1100, Tulay: iba pang mga platform na nakabatay sa StrongARM, na may kaugnayan lamang para sa nostalgia.
  • Gemini, Moxart: Parehong gumagamit ng Faraday FA526 CPU core, na tulad ng StrongARM ay nagpapatupad ng ARMv4 sa halip na ARMv4T na may thumb. Ang mga chips ay lampas na rin sa 20 taong gulang, ngunit ang kernel code ay na-update at hindi isang pasanin sa pagpapanatili.
  • PXA board files: May dalawang plate file na natitira sa PXA code na hindi naalis dalawang taon na ang nakakaraan, umaasa na makakatulong ito sa conversion sa DT
  • OMAP1: ang nag-iisang platform ng ARMv4T/ARMv5 na walang suporta sa DT, na ginagawa itong target para sa pag-alis sa isang punto.
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1
  • OMAP24xx
  • iMX31, realview/integrator na may 1136r0
  • S3C64xx (Cragganmore): Ito ang nag-iisang ARMv6K board na walang suporta sa devicetree, at ang board file ay naglalaman ng kaparehong dami ng pagiging kumplikado gaya ng lahat ng iba pang board file na pinagsama. Inilista ito ng arch/arm/mach-s3c/Kconfig.s3c64xx para alisin sa unang bahagi ng susunod na taon, na magbibigay-daan para sa isang malaking paglilinis ng imprastraktura ng platform at mga driver.
  • Orion5x, mv78xx0, dove board file: Tulad ng PXA, ang mga ito ay naiwan habang nakabinbin ang pag-unlad patungo sa DT conversion, ngunit walang nangyari maliban sa ilang maliliit na pag-aayos sa mv78xx0. Sa kabaligtaran, inalis ni Debian ang orion5x kernel binary na nagbabanggit ng kakulangan ng mga gumagamit, kaya tila mas malamang na hindi makumpleto.
  • iMX35, WM8750, AST2500, BCM2835: Ang apat na ito ay lahat ng mga platform ng ARMv6K at mahusay na sinusuportahan, bagama't ang AST2500 at BCM2835 lamang ang may aktibong user base.
  • Stm32f4/f7/h7 microcontrollers: Ito ang tanging non-MMU Arm chips na nakakakita ng patuloy na pag-unlad habang patuloy na sinusuportahan ng ST ang mga kasalukuyang customer nito.

Panghuli, dapat itong nabanggit na nasa RFC stage pa ang planong ito, ibig sabihin, inilathala para sa talakayan ng komunidad. Kung maaprubahan, iminumungkahi na simulan ang pag-alis ng mga lumang ARM processor sa Linux 6.12 kernel, na inaasahan sa Disyembre. Ang mga unang kandidatong aalisin ay ang ARMv4 (nang hindi inaalis ang ARMv4T), iWMMXt, BE32 at OABI.

Fuente: https://lkml.org