Plano nga tapuson ang suporta alang sa mga daan nga ARM processor sa core Linux

Si Arnd Bergmann, kinsa responsable sa mga kernel packages sa SUSE, nag-post sa mailing list sa mga kernel developers. Linux Usa ka plano sa pagtangtang sa code gikan sa GCC-based kernel ug paghimo og mga himan aron suportahan ang mga daan nga ARM CPU ug ang ilang mga kaubang ABI, instruction sets, ug mga bahin sa kernel. Ang plano anaa karon sa RFC stage, nagpasabot nga bukas kini alang sa komento sa komunidad. Kung maaprobahan, ang pagtangtang sa mga daan nga ARM processor gisugyot nga magsugod sa kernel. Linux 6.12, nga gilaumang ipagawas sa Disyembre. Ang unang mga kandidato nga tangtangon mao ang ARMv4 (nga dili tangtangon ang ARMv4T), iWMMXt, BE32, ug OABI.

Ang paghunong sa suporta alang sa daan nga ARM nga mga CPU sa kernel nag-intersect sa paghunong sa ilang suporta sa GCC - ang pipila sa mga CPU nga gisumite alang sa pagtangtang wala na gisuportahan sa pinakabag-o nga mga sanga sa GCC, ug ang uban giplano nga tangtangon sa umaabot nga mga pagpagawas, nga pasimplehon ang modernisasyon ug pagpatuman sa mga bag-ong bahin sa compiler. Ang pagtangtang sa suporta alang sa usa ka arkitektura sa GCC magkinahanglan nga tangtangon ang suporta niini gikan sa kernel kung ang minimum nga bersyon sa GCC nga gisuportahan sa kernel madugangan (karon, labing menos GCC nga bersyon 5.1 ang gikinahanglan aron matukod ang kernel).

Mga arkitektura, chips ug mga extension nga gisugyot nga tangtangon gikan sa kernel:

  • ARMv3 - wala na gisuportahan sa GCC 9.
  • Ang ARMv4 gigamit para sa mga processor nga StrongARM ug FA526 nga gigamit pa, bisan kung ang pinakabag-o niini nga mga chip gipagawas mga 20 ka tuig na ang milabay. Ang suporta sa ARMv4 gihunong niadtong Debian 5.0. Gisugyot nga hunungon una ang pagsuporta sa ARMv4 sa GCC, ug sa pipila ka tuig sa kernel usab.
  • ARMv4T - Adunay unom ka pamilya sa SoC nga gigamit sa mga core sa ARM720T, ARM920T, ug ARM922T, nga mas komon kaysa sa mga SoC nga nakabase sa ARMv4. Ang suporta sa ARMv4T gihunong niadtong Debian 9.0. Ang suporta sa ARMv4T giplano nga hunongon sa kernel, dili mas sayo pa sa panahon nga hunongon ang suporta sa ARMv5.
  • ARMv5 - gigamit sa mga 1/3 sa tanang plataporma nga gisuportahan sa kernel, apan kadaghanan niini nga mga plataporma hapit na matapos ang ilang siklo sa kinabuhi. Debian nagpadayon sa pagsuporta sa ARMv5, apan tungod sa kakulang sa FPU ug mga operasyon sa atomika, ang pagpadayon sa suporta nagkalisod ug lagmit nga ibalhin sa dili madugay Debian para sa ARMv5 ibalhin ngadto sa dili opisyal nga listahan.
  • Mga inisyal nga henerasyon sa ARMv6 - gigamit sa mga SoC sama sa ARM1136r0p (NXP i.MX31) ug OMAP24xx (Nokia N8xx), apan ang ilang suporta nanginahanglan mga hack aron magtrabaho sa mga core sa SMP.
  • ARMv6K - gigamit sa ARM1176 (Raspberry Pi 1, AST2500) ug ARM1136r1. Wala’y mga babag sa paghunong sa suporta sa kernel, apan ang mga kalisud moabut sa mga pag-apod-apod tungod sa dili pagsunod sa armv7-a+vfpv3-d16 standard set.
  • ARMv7-M - gigamit sa Cortex-M3/M4/M7 base microcontrollers, nga nagpabilin sa katapusan nga core-suportado chips nga walay memory management unit (MMU). Ang pagtrabaho sa mga kernel sa mga sistema nga wala’y MMU mihunong sa 2017, pagkahuman sa pagbalhin sa pag-uswag sa RTOS alang sa parehas nga mga chips sama sa Zephyr. Ang suporta alang sa ARMv7-M gisugyot nga tangtangon sa 2027, 10 ka tuig pagkahuman nahunong ang pag-uswag, bisan pa sa padayon nga suporta sa GCC.
  • iWMMXt - ang kernel mihunong na sa pagsuporta sa ARMv7 PJ4 nga mga CPU (MMP2, Berlin), pagkahuman wala nay mga sistema nga nahabilin nga gigamit nga naggamit niini nga hugpong sa mga panudlo. Ang iWMMXt wala na gigamit sa Clang ug gisugyot nga tangtangon gikan sa GCC.
  • BE32 (big endian ARMv5) - gigamit lamang sa usa ka SoC, ang Intel IXP4xx. Sa mga daang bersyon Debian Ang little-endian mode ra ang gisuportahan, apan ang mga drayber aduna pa'y wala masulbad nga mga isyu. Gisugyot nga tangtangon ang suporta sa BE32 gikan sa GCC ug sa kernel, tungod kay wala pay nakasulbad sa mga isyu sa mga drayber sulod sa daghang mga tuig.
  • BE8 (big-endian ARMv7) - daghang mga drayber ang adunay mga problema, ang pagsulay mihunong, ug wala’y kasayuran bahin sa mga aparato nga nahabilin nga gigamit. Mahimong interesado ang BE8 mode alang sa pagsulay sa mga sangkap sa wanang sa tiggamit sa mga sistema nga dako-endian, busa ang suporta sa BE8 giplano nga tipigan sa kernel ug GCC labing menos pipila ka tuig sa wala pa kini magsugod sa pagpahinabog mga problema.

Mga bahin sa kernel nga gisugyot alang sa pagtangtang Linux:

  • Ang param_struct nga estraktura nga gigamit sa wala pa ang ATAGS (ARM Tag-Area) gideklarar nga obsolete balik niadtong 2001, apan gigamit gihapon sa code para sa RiscPC ug Footbridge nga mga plataporma.
  • Ang mga file nga adunay mga parameter nga gibase sa istruktura sa ATAGS (gigamit sa pagbalhin sa kasayuran sa pag-configure sa Device Tree) - 29 nga mga file nagpabilin sa kernel nga adunay kalabotan sa 10 nga SoC platform gamit ang ATAGS.
  • OABI (Old ABI, old ABI for the ARM architecture) - EABI (Embedded ABI) kay gigamit na halos bisag asa. Ang OABI mao ang hinungdan sa daghang mga kasaypanan tungod kay ang mga nag-develop sa drayber wala magtagad sa pipila ka mga bahin nga nalangkit niini. Ang suporta sa OABI alang sa pagtukod sa user-space gihunong sa GCC 4.8, apan ang kernel nagpabilin sa bandila nga "-mabi=apcs-gnu". Gisugyot nga ipadayon ang OABI sa pagkakaron, apan himuon nga labi ka lisud ang paglakip tungod sa pagdumala.
  • OABI Compatibility Mode (OABI_COMPAT) - Gitugotan ang mga executable nga giipon alang sa OABI nga ipatuman gamit ang kernel nga adunay EABI. Ang pipila ka mga problema mitungha sa mga drayber tungod sa dili pag-uyon sa ioctl, apan ang pagkakomplikado sa pagmentinar niini nga paagi mas gamay kay sa pagmintinar sa mga kernels sa OABI. Aron mapadayon ang suporta sa StrongARM, makatarunganon nga ipadayon ang suporta sa OABI o OABI_COMPAT.
  • NWFPE (Walay Floating Point Emulator) - ang mga patch alang sa pagtangtang gisugyot 11 ka tuig na ang milabay, apan gikinahanglan ang NWFPE alang sa pipila ka mga component sa user space nga gitukod alang sa OABI, mao nga girekomendar nga ipadayon ang suporta sa NWFPE hangtod ang suporta sa OABI o OABI_COMPAT magpabilin sa kernel.
  • Highmem (gigamit alang sa pagdumala sa memorya sa mga lugar nga lapas sa 1GB) - Kadaghanan sa mga sistema sa ARM mahimong modagan nga walay highmem, o mahimong mogamit sa CONFIG_VMSPLIT_2GB aron ma-access ang unang 2GB sa pisikal nga memorya. Nagpadayon ang trabaho aron mahatagan ang access sa 4 GB nga RAM sa mga sistema nga adunay LPAE (Cortex-A7/A15), pagkahuman mahimo’g tangtangon ang suporta sa Highmem.
  • Sparsemem - gikinahanglan alang sa mga sistema nga nagkinahanglan ug highmem.

Mga plataporma nga gisugyot alang sa pagtangtang:

  • Ang RiscPC mao ang labing karaan nga plataporma nga gisuportahan sa kernel. Wala gisuportahan sa GCC sukad sa 9.x tungod sa pagtangtang sa suporta sa ARMv3. Ang tigmentinar nagpadayon sa pagsulay sa kernel niini nga plataporma, apan morag wala nay tinuod nga tiggamit, mao nga ang suporta mahimong ihunong kung ang tigmentina mawad-an sa interes.
  • SA1100, Footbridge - karaan nga mga plataporma, gipreserbar lamang alang sa mga hinungdan sa nostalgia. Hapit tanan nga mga file nga naghulagway sa mga tabla alang niini nga mga plataporma gikuha sa kernel 6.3, nagbilin lamang og suporta alang sa ipaq h3600, assabet, netwinder ug ebsa285 nga mga himan. Ang pangutana sa pagtangtang nagdepende sa intensiyon sa tigmentinar.
  • Gemini, Moxart - gamita ang mga CPU nga nakabase sa ARMv4. Ang mga chips gibuhian kapin sa 20 ka tuig na ang milabay, apan ang ilang suporta wala magkinahanglan og dugang nga mga paningkamot sa pagmentinar, mao nga walay kapuslanan ang pagtangtang niini sa dili pa tangtangon ang StrongARM nga plataporma.
  • Ang mga file aron suportahan ang PXA - ang mga platform gibiyaan ug wala na magamit kung ang interes niini dili na mobalik, kini matangtang sa pagsugod sa 2025.
  • Ang OMAP1 - sa usa ka bahin, nagpabilin nga bugtong plataporma nga gibase sa ARMv4T/ARMv5 nga walay suporta sa Device Tree ug walay paglihok paingon sa transisyon ngadto sa Device Tree, apan sa laing bahin, ang plataporma adunay mga tiggamit gihapon.
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1 - gamita ang ARMv4T-based nga mga CPU. Nagpadayon ang trabaho aron ibalhin ang mga deskripsyon sa board sa Device Tree, apan makatarunganon nga suportahan sila basta ang suporta sa ARMv5 gipadayon.
  • Ang OMAP24xx mao ra ang platform nga nakabase sa ARMv6 nga adunay mga aktibo nga tiggamit. Ang pagpadayon sa suporta nagdepende sa pagpadayon sa suporta alang sa arm1136r0 CPU.
  • iMX31 - walay impormasyon mahitungod sa presensya sa mga aktibong tiggamit, apan walay punto sa pagtangtang sa atubangan sa OMAP2.
  • Ang S3C64xx (Cragganmore) mao lamang ang plataporma nga walay suporta sa Device Tree, nga gitukod sa ARMv6K. Ang plataporma nagpadayon nga gigamit alang sa pagsulay sa mga audio codec, mao nga ang pagtangtang nalangan hangtod ang pagsulay mahimong ibalhin sa lain nga board.
  • Orion5x, mv78xx0 - ang isyu sa pagtangtang giplano nga konsiderahon sayo sa sunod tuig.
  • iMX35, WM8750, AST2500, BCM2835 - maayo nga gisuportahan ug adunay mga aktibo nga tiggamit wala pay plano sa pagtangtang kanila.
  • stm32f4/f7/h7 - microcontrollers nga walay MMU, ang suporta sa kernel nagpadayon ug adunay mga aktibong tiggamit. Ang isyu sa pagtangtang giplano nga ikonsiderar sa 2026.

Source: opennet.ru

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster