Il est prĂ©vu de mettre fin Ă  la prise en charge des anciens processeurs ARM dans le cƓur. Linux

Arnd Bergmann, responsable des paquets du noyau chez SUSE, a publié un message sur la liste de diffusion des développeurs du noyau. Linux Un projet vise à supprimer du noyau basé sur GCC et des outils de compilation afin de prendre en charge les anciens processeurs ARM et leurs ABI, jeux d'instructions et fonctionnalités noyau associés. Ce projet est actuellement au stade de RFC (référence scientifique), ce qui signifie qu'il est ouvert aux commentaires de la communauté. S'il est approuvé, la suppression des anciens processeurs ARM devrait commencer au niveau du noyau. Linux La version 6.12, dont la sortie est prévue en décembre, cible en priorité les architectures ARMv4 (à l'exception d'ARMv4T), iWMMXt, BE32 et OABI.

La cessation de la prise en charge des anciens processeurs ARM dans le noyau coĂŻncide avec la cessation de leur prise en charge dans GCC - certains des processeurs soumis pour suppression ne sont plus pris en charge dans les derniĂšres branches GCC, et certains devraient ĂȘtre supprimĂ©s dans les versions futures, ce qui simplifiera la modernisation et la mise en Ɠuvre de nouvelles fonctionnalitĂ©s dans le compilateur. La suppression du support d'une architecture dans GCC nĂ©cessitera la suppression de son support du noyau si la version minimale de GCC prise en charge par le noyau est augmentĂ©e (actuellement, au moins la version 5.1 de GCC est requise pour construire le noyau).

Architectures, puces et extensions qu'il est proposĂ© de supprimer du noyau :

  • ARMv3 - n'est plus pris en charge dans GCC 9.
  • L'architecture ARMv4 est utilisĂ©e pour les processeurs StrongARM et FA526, toujours en service, bien que les plus rĂ©cents de ces puces datent d'une vingtaine d'annĂ©es. La prise en charge d'ARMv4 a Ă©tĂ© abandonnĂ©e en [annĂ©e manquante]. Debian 5.0. Il est proposĂ© d'arrĂȘter d'abord la prise en charge d'ARMv4 dans GCC, puis dans quelques annĂ©es dans le noyau Ă©galement.
  • ARMv4T - Six familles de SoC utilisent les cƓurs ARM720T, ARM920T et ARM922T, plus rĂ©pandus que les SoC basĂ©s sur ARMv4. La prise en charge d'ARMv4T a Ă©tĂ© abandonnĂ©e en Debian 9.0. La prise en charge d'ARMv4T sera abandonnĂ©e dans le noyau, pas avant l'abandon de la prise en charge d'ARMv5.
  • ARMv5 - utilisĂ© sur environ 1/3 de toutes les plateformes prises en charge par le noyau, mais la plupart de ces plateformes approchent de la fin de leur cycle de vie. Debian Il continue de prendre en charge ARMv5, mais en raison de l'absence d'unitĂ© de calcul en virgule flottante et d'opĂ©rations atomiques, la maintenance de cette prise en charge devient de plus en plus difficile et sera probablement bientĂŽt portĂ© sur une autre architecture. Debian La version pour ARMv5 sera dĂ©placĂ©e vers la liste non officielle.
  • GĂ©nĂ©rations initiales d'ARMv6 - utilisĂ©es dans les SoC tels que ARM1136r0p (NXP i.MX31) et OMAP24xx (Nokia N8xx), mais leur prise en charge nĂ©cessite des hacks pour fonctionner dans les cƓurs avec SMP.
  • ARMv6K - utilisĂ© dans ARM1176 (Raspberry Pi 1, AST2500) et ARM1136r1. Il n'y a aucun obstacle Ă  l'arrĂȘt du support dans le noyau, mais des difficultĂ©s surviennent dans les distributions en raison du non-respect de l'ensemble standard armv7-a+vfpv3-d16.
  • ARMv7-M - utilisĂ© dans les microcontrĂŽleurs basĂ©s sur Cortex-M3/M4/M7, qui restent les derniĂšres puces prises en charge par le cƓur sans unitĂ© de gestion de mĂ©moire (MMU). Les travaux sur les noyaux sur les systĂšmes sans MMU ont cessĂ© en 2017, suite au passage au dĂ©veloppement RTOS pour des puces similaires telles que le Zephyr. Il est proposĂ© de supprimer le support d'ARMv7-M en 2027, 10 ans aprĂšs l'arrĂȘt du dĂ©veloppement, malgrĂ© le support continu dans GCC.
  • iWMMXt - le noyau a dĂ©jĂ  cessĂ© de prendre en charge les processeurs ARMv7 PJ4 (MMP2, Berlin), aprĂšs quoi il n'y a plus aucun systĂšme utilisĂ© qui utilise cet ensemble d'instructions. iWMMXt est dĂ©jĂ  obsolĂšte dans Clang et il est proposĂ© de le supprimer de GCC.
  • BE32 (ARMv5 big-endian) - utilisĂ© uniquement dans un seul SoC, l'Intel IXP4xx. Dans les versions plus anciennes. Debian Seul le mode little-endian Ă©tait pris en charge, mais les pilotes prĂ©sentent encore des problĂšmes non rĂ©solus. Il est proposĂ© de supprimer la prise en charge de BE32 de GCC et du noyau, car personne n'a traitĂ© ces problĂšmes dans les pilotes depuis plusieurs annĂ©es.
  • BE8 (big-endian ARMv7) - de nombreux pilotes ont des problĂšmes, les tests se sont arrĂȘtĂ©s et il n'y a aucune information sur les pĂ©riphĂ©riques restant en cours d'utilisation. Le mode BE8 peut ĂȘtre intĂ©ressant pour tester les composants de l'espace utilisateur sur des systĂšmes big-endian, c'est pourquoi il est prĂ©vu que le support BE8 soit conservĂ© dans le noyau et GCC pendant au moins quelques annĂ©es avant qu'il ne commence Ă  poser des problĂšmes.

Fonctionnalités du noyau proposées pour suppression Linux:

  • La structure param_struct utilisĂ©e avant ATAGS (ARM Tag-Area) a Ă©tĂ© dĂ©clarĂ©e obsolĂšte en 2001, mais est toujours utilisĂ©e dans le code des plateformes RiscPC et Footbridge.
  • Fichiers avec des paramĂštres basĂ©s sur la structure ATAGS (utilisĂ©s pour transfĂ©rer les informations de configuration vers l'arborescence des pĂ©riphĂ©riques) - 29 fichiers restent dans le noyau associĂ© Ă  10 plates-formes SoC utilisant ATAGS.
  • OABI (Old ABI, old ABI pour l'architecture ARM) - EABI (Embedded ABI) est dĂ©sormais utilisĂ© presque partout. OABI est Ă  l'origine de nombreuses erreurs car les dĂ©veloppeurs de pilotes n'ont pas pris en compte certaines des fonctionnalitĂ©s qui lui sont associĂ©es. La prise en charge d'OABI pour les builds en espace utilisateur a Ă©tĂ© interrompue dans GCC 4.8, mais l'indicateur du noyau "-mabi=apcs-gnu" a Ă©tĂ© conservĂ©. Il est proposĂ© de conserver l'OABI pour l'instant, mais de rendre son inclusion plus difficile en raison de la surveillance.
  • Mode de compatibilitĂ© OABI (OABI_COMPAT) - Permet aux exĂ©cutables compilĂ©s pour OABI d'ĂȘtre exĂ©cutĂ©s Ă  l'aide d'un noyau avec EABI. Certains problĂšmes surviennent dans les pilotes en raison d'une incompatibilitĂ© avec ioctl, mais la complexitĂ© de la maintenance de ce mode est nettement moindre que celle de la maintenance des noyaux avec OABI. Pour maintenir le support StrongARM, il serait raisonnable de conserver le support OABI ou OABI_COMPAT.
  • NWFPE (No Floating Point Emulator) - des correctifs Ă  supprimer ont Ă©tĂ© proposĂ©s il y a 11 ans, mais NWFPE est requis pour certains composants de l'espace utilisateur construits pour OABI, il est donc recommandĂ© de maintenir le support NWFPE jusqu'Ă  ce que le support OABI ou OABI_COMPAT reste dans le noyau.
  • Highmem (utilisĂ© pour la gestion de la mĂ©moire dans les zones au-delĂ  de 1 Go) - La plupart des systĂšmes ARM peuvent fonctionner sans highmem activĂ©, ou peuvent utiliser CONFIG_VMSPLIT_2GB pour accĂ©der aux 2 premiers Go de mĂ©moire physique. Des travaux sont en cours pour donner accĂšs Ă  4 Go de RAM sur les systĂšmes avec LPAE (Cortex-A7/A15), aprĂšs quoi le support Highmem pourra ĂȘtre supprimĂ©.
  • Sparsemem - requis pour les systĂšmes nĂ©cessitant une mĂ©moire Ă©levĂ©e.

Plateformes proposĂ©es Ă  la suppression :

  • RiscPC est la plus ancienne plateforme supportĂ©e par le noyau. Non pris en charge dans GCC depuis 9.x en raison de la suppression du support ARMv3. Le responsable continue de tester le noyau sur cette plate-forme, mais il ne semble plus y avoir de vĂ©ritables utilisateurs, le support peut donc ĂȘtre interrompu si le responsable se dĂ©sintĂ©resse.
  • SA1100, Passerelle - quais vĂ©tustes, conservĂ©s uniquement pour des raisons de nostalgie. Presque tous les fichiers dĂ©crivant les cartes pour ces plates-formes ont Ă©tĂ© supprimĂ©s dans le noyau 6.3, ne laissant que la prise en charge des pĂ©riphĂ©riques ipaq h3600, assabet, netwinder et ebsa285. La question de la suppression dĂ©pend des intentions du responsable.
  • Gemini, Moxart - utilisez des processeurs basĂ©s sur ARMv4. Les puces ont Ă©tĂ© commercialisĂ©es il y a plus de 20 ans, mais leur prise en charge ne nĂ©cessite pas d'efforts de maintenance supplĂ©mentaires, il ne sert donc Ă  rien de les supprimer avant de supprimer la plateforme StrongARM.
  • Fichiers pour prendre en charge PXA - les plates-formes sont abandonnĂ©es et ne sont plus utilisĂ©es ; si l'intĂ©rĂȘt pour elles ne revient pas, elles seront supprimĂ©es dĂ©but 2025 ;
  • OMAP1 - d'une part, reste la seule plate-forme basĂ©e sur ARMv4T/ARMv5 sans prise en charge de Device Tree et il n'y a aucun mouvement vers la transition vers Device Tree, mais d'autre part, la plate-forme a toujours des utilisateurs.
  • Nspire, AT91RM9200, CLPS711X, EP93xx, iMX1 - utilisent des processeurs basĂ©s sur ARMv4T. Des travaux sont en cours pour transfĂ©rer les descriptions des cartes vers l'arborescence des pĂ©riphĂ©riques, mais il est logique de les prendre en charge uniquement tant que la prise en charge d'ARMv5 est maintenue.
  • OMAP24xx est la seule plate-forme basĂ©e sur ARMv6 avec des utilisateurs actifs. Le maintien de la prise en charge dĂ©pend du maintien de la prise en charge du processeur arm1136r0.
  • iMX31 - il n'y a aucune information sur la prĂ©sence d'utilisateurs actifs, mais cela n'a aucun sens de supprimer avant OMAP2.
  • S3C64xx (Cragganmore) est la seule plate-forme sans prise en charge de Device Tree, construite sur ARMv6K. La plate-forme continue d'ĂȘtre utilisĂ©e pour tester les codecs audio, la suppression est donc retardĂ©e jusqu'Ă  ce que les tests puissent ĂȘtre dĂ©placĂ©s vers une autre carte.
  • Orion5x, mv78xx0 - la question de la suppression devrait ĂȘtre examinĂ©e au dĂ©but de l'annĂ©e prochaine.
  • iMX35, WM8750, AST2500, BCM2835 - sont bien pris en charge et ont des utilisateurs actifs, il n'est pas encore prĂ©vu de les supprimer.
  • stm32f4/f7/h7 - microcontrĂŽleurs sans MMU, le support dans le noyau continue et il y a des utilisateurs actifs. La question du retrait devrait ĂȘtre examinĂ©e en 2026.

Source: opennet.ru

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster