Version Linux 6.5 – Modifications notables, architectures Arm, RISC-V et MIPS

Linus Torvalds vient d’annoncer la sortie de Linux 6.5 sur la Linux Kernel Mailing List (LKML) :

Rien de particulièrement étrange ou effrayant ne s’est donc produit la semaine dernière, il n’y a donc aucune excuse pour retarder la sortie de la version 6.5.

J’ai toujours ce sentiment tenace que beaucoup de gens sont en vacances et que les choses sont devenues calmes en partie à cause de cela. Mais cette sortie s’est bien déroulée, donc c’est probablement juste moi qui suis paranoïaque. Les plus gros correctifs de la semaine dernière concernaient littéralement nos autotests.

Le shortlog ci-dessous n’est évidemment pas le journal de la version 6.5, c’est simplement la dernière semaine depuis rc7.

Quoi qu’il en soit, cela signifie évidemment que la fenêtre de fusion pour la version 6.6 commence demain. J’ai déjà environ 20 demandes d’extraction en attente et prêtes à fonctionner, mais avant de commencer la prochaine frénésie de fusion, veuillez donner à cette version finale une dernière série de tests, d’accord ?

Linus

La version précédente de Linux 6.4 a été publiée il y a environ 2 mois et nous apportait le masquage d’adresse linéaire x86, la prise en charge du SoC Apple M2 Arm, de nouvelles opérations ptrace(), la possibilité pour les processus non privilégiés d’interroger des informations sur le blocage par pression, un didacticiel détaillé expliquant comment construire un noyau réduit, parmi de nombreux autres changements.

Version Linux 6.5

Modifications de Linux 6.5

Certains changements et mises à jour notables apportés au noyau Linux 6.5 incluent :

  • Prise en charge initiale de USB4 v2 avec prise en charge de liaison symétrique 80 Gbit/s, nouvelles notifications, encapsulation étendue PCIe, mode TMU unidirectionnel amélioré, état de faible consommation de liaison CL2, tunneling DisplayPort 2.x. Voir la demande git pull pour plus d’informations.
  • Le travail sur le support de Rust se poursuit avec une mise à niveau vers Rust 1.68.2, la première mise à niveau depuis la fusion du support de Rust dans Linux 6.1.
  • L’architecture Loongarch prend désormais en charge le multithreading simultané (SMT) et la construction avec le compilateur Clang.
  • Le sous-système io_uring peut désormais stocker les anneaux et la file d’attente de soumission dans la mémoire de l’espace utilisateur, plutôt que de laisser le noyau allouer cette mémoire. Cela permet à l’espace utilisateur d’allouer la mémoire nécessaire sous forme de pages volumineuses afin d’améliorer les performances. Plus de détails peuvent être trouvés dans le commit associé.

Armer le journal des modifications sous Linux 6.5

Entrons maintenant dans les détails de certaines des modifications apportées à l’architecture Arm :

  • L’extension d’autorisation-indirection (PIE) arm64 est désormais prise en charge. Aucune nouvelle fonctionnalité ne résulte de cette prise en charge pour le moment, mais elle est nécessaire pour certaines fonctionnalités à venir telles que l’extension Guarded Control Stack (GCS).
  • Gagnant
    • Allwinner R329/R528/T113s – Pilote pour les deux contrôleurs SPI dans ces SoC
    • Nouvelle carte – Carte ICnova ADB4006 basée sur Allwinner A20
  • Puce de roche
    • MFD – Ajout de la prise en charge de SPI au Rockchip RK808 (et amis), du RK806 au Rockchip RK8XX
    • Pilote du contrôleur PCIe :
      • Supprimer les écritures dans les registres inutilisés
      • Écrire l’ID de l’appareil du point de terminaison à l’aide du registre correct
      • Affirmer la configuration PCI Activer le bit après la sonde afin que le point final réponde au lieu de générer des messages d’état de nouvelle tentative de demande
      • Sondage en attente du verrouillage des PLL PHY
      • Mettre à jour l’exemple de liaison DT RK3399 pour qu’il soit valide
      • Utilisez RK3399 PCIE_CLIENT_LEGACY_INT_CTRL pour générer INTx au lieu de générer manuellement un message PCIe
      • Utilisez plusieurs fenêtres pour éviter les conflits de traduction d’adresses
      • Utilisez u32 (pas u16) pour accéder aux registres 32 bits
      • Masquer la fonctionnalité MSI-X, car le RK3399 ne peut pas générer de MSI-X
      • Définir l’alignement requis du contrôleur de point de terminaison sur 256
    • RK3588 – Ajout de la prise en charge de GIC ITS, des minuteries, de la mémoire OTP, de SARADC et de SDIO.
    • RK356x – Prise en charge du bloc RGA
    • Améliorations
      • Rock 5B – Prise en charge du PMIC, de la carte SD et du SARADC, ainsi qu’un correctif de fréquence d’horloge pour son codec ES8316.
      • rk3588-evb1 – Prise en charge du PMIC.
      • Anbernic RGxx3 bénéficie d’une meilleure compatibilité Bluetooth et de mises à jour de ses LED pour leur faire utiliser les blocs PWM auxquels ils sont connectés.
    • Nouveaux appareils et cartes
  • Amlogic
    • Ajout de la puce de caméra IP intelligente Amlogic C3 Cortex-A35
    • Pilotes d’horloge pour Amlogic A1 – Ajouter un pilote de contrôleur d’horloge de périphériques, un pilote de contrôleur d’horloge PLL, introduire une nouvelle séquence de mise sous tension PLL
    • GPIO – Liaison du contrôleur d’interruption Amlogic Meson GPIO à la conversion YAML
    • DRM – Ajout de la prise en charge de l’émetteur-récepteur MIPI-DSI trouvé sur Amlogic G12A/G12B/SM1
    • USB – Prise en charge du commutateur OTG pour toutes les versions IP ; ajouter la prise en charge du périphérique USB Amlogic A1 SoC
    • Marquer certains domaines de puissance comme étant toujours actifs pour secure-pwrc
    • Modifications d’ARM DT – correction des références d’horloge uart_B et uart_C pour meson8 et meson8b
    • Modifications d’ARM64 DT pour Linux 6.5 :
      • Présentation du DT initial pour l’AW409 basé sur le SoC Amlogic C3
      • ajouter les propriétés de cache manquantes
    • Nouvelles cartes – Carte AW409 (Amlogic C3)
  • Samsung
    • Samsung Exynos 4212 ré-ajouté après sa suppression du noyau en 2017
    • Convertir les liaisons du codec multiformat S5P/Exynos en schéma DT
    • Modifications DTS ARM pour Linux 6.5 :
      • Nettoyages finaux et améliorations résultant de dtbs_checks (impacts Exynos4 et S5PV210)
      • Réintroduisez Exynos4212 qui a été supprimé en raison du manque d’utilisateurs en amont. Artur Weber ajoute maintenant le Samsung Galaxy Tab3 avec Exynos4212.
    • Modifications du Samsung DTS ARM64 – N/A
    • Nouveaux appareils – Téléphone Samsung Galaxy Express et Samsung Galaxy Tab3 avec SoC Exynos 4212
  • Qualcomm
    • Ajout de la prise en charge de Qualcomm MSM8939 (Snapdragon 615), une variante plus puissante de la puce téléphonique MSM8916 (Snapdragon 410)
    • Ajout de la prise en charge des puces pour ordinateurs portables Qualcomm SC8180x (Snapdragon 8cx)
    • Ajout de la prise en charge de la puce de modem Qualcomm SDX75 5G avec cœurs Cortex-A55
    • Pilotes PHY – Ajout du pilote Qualcomm SGMII SerDes PHY, prise en charge SM6115 et QCM2290 QMP-USB, prise en charge SA8775P USB PHY et USB3 UNI, prise en charge QUSB2 pour IPQ9574, IPQ9574 USB3 PHY
    • Soundwire – Prise en charge du contrôleur Qualcomm Soundwire v2.0.0
    • Pilote ASoC – Prise en charge audio compressée pour Qualcomm, prise en charge supplémentaire pour Qualcomm WSA884x
    • Pilotes Clk – Prise en charge de davantage de contrôleurs Clk dans les SoC Qualcomm tels que SM8350, SM8450, SDX75, SC8280XP et IPQ9574
    • Pinctrl – Prise en charge de Qualcomm IPQ5018, sous-pilote Qualcomm SDX75, prise en charge PM8953 basée sur Qualcomm SPMI
    • WiFi – Qualcomm 802.11ax (ath11k) : prise en charge de plusieurs identifiants d’ensemble de services de base (MBSSID) et de publicité MBSSID améliorée (EMA) en mode AP, prise en charge du mode test en usine
    • Mises à jour ARM32 DTS :
      • IPQ4019 – La prise en charge NAND sur les cartes est restaurée après un changement de nom de nœud défectueux.
      • MSM8974 – Le LGE Nexus 5 prend en charge le vibreur. L’APQ8074 Dragonboard marque BLSP2 BAM contrôlé à distance, le panneau DSI, les DSP audio et modem sont activés.
      • SDX65 – Le contrôleur PCIe et le PHY sont introduits pour fournir des fonctionnalités de point de terminaison. Ceci est activé sur le MTP associé.
      • MSM8960 – Le support USB est ajouté et le Samsung Galaxy Express est ajouté.
      • Les touches GPIO et les LED intégrées sont décrites pour le Dragonboard APQ8074.
      • MSM8226
        • QFPROM, tsens et zones thermiques sont définis et la description de la hiérarchie des horloges est améliorée.
        • Les statistiques IMEM, PMU et RPM sont introduites. La Huawei Watch prend en charge le vibreur.
      • Le contrôleur de point de terminaison PCIe sur SDX55 obtient un chemin d’interconnexion vers DDR défini.
      • La tablette Sony Xperia X2 et la Samsung Galaxy Tab 4 sont mises à jour suite aux modifications apportées à la liaison LP855X DeviceTree.
    • Mises à jour Arm64 DTS pour Linux 6.5 :
      • MSM8939 – La carte Square T2 et le Sony Xperia M4 Aqua sont ajoutés.
      • SC8180X – Le Lenovo Flex 5G et l’appareil de référence Primus ont été ajoutés.
      • IPQ6018 – La prise en charge de QFPROM, la prise en charge du mode de téléchargement et diverses régions de mémoire réservée sont également introduites
      • IPQ9574 – La mise à l’échelle de la fréquence du processeur, les bus à faible vitesse, RNG, Watchdog, qfprom, SMEM et RPM sont introduits
      • MSM8916 – Gamme d’améliorations structurelles, pour mieux s’adapter aux différentes cartes prises en charge. Les contraintes des régulateurs sont corrigées et leurs états sont ajustés pour correspondre à la réalité (par exemple, les régulateurs toujours actifs marqués comme étant toujours actifs). Le BQ Aquaris X5 prend en charge le flash LED avant.
      • MSM8953 – Bénéficie de la prise en charge DMA dans les maîtres I2C.
      • Les cartes Sony Xperia basées sur MSM8996 obtiennent une description de leur LED de notification RVB.
      • SA8775P – La prise en charge des contrôleurs UFS, USB, GPU Clock et iommu, PMU, AOSS, watchdog et les contrôleurs basse vitesse manquants est ajoutée. Sur la plateforme Ride, UFS, USB et un bus i2c sont activés.
      • Les propriétés iommu sont ajoutées à QSPI sur SC7180 et SC7280. Les horloges LPASS sont ajustées et le nœud MDP légèrement nettoyé, sur SC7180.
      • SC8280XP – Ethernet est ajouté et activé sur la plateforme de conduite automobile. Un contrôleur SDC est introduit et activé sur le SC8280XP CRD.
      • Le Fairphone 3 prend en charge son voyant de notification.
      • SDM845 – Le flux iommu pour QSPI est défini, SHIFT SHIFT6mq prend en charge le flash LED et la carte RB3 (DB845c) prend en charge le mode DSI lié/double, pour permettre une sortie 4K.
      • SM6115 – Les états d’inactivité du processeur, la prise en charge du moteur de chiffrement et le SuperSpeed ​​USB PHY sont introduits.
      • Plate-forme robotique QRB4210 RB2 – Les DSP USB, audio et informatique, l’affichage, le bus CAN et les LED GPIO sont introduits, les régulateurs fixes sont décrits et la description de la carte SD est corrigée.
      • Prise en charge de la plateforme Qualcomm SDX75, avec la carte de référence IDP.
      • IPQ5332
        • Ajout des appareils de référence RDP442 et RDP433
        • La carte RDP474 est ajoutée et la carte MI01.2 est renommée RDP441.
        • Régions de mémoire réservée supplémentaires pour améliorer le débogage post-mortem. UART1 est ajouté.
        • Prise en charge de QFPROM
      • IPQ9574
        • Ajout des appareils de référence RDP418, RDP433, RDP449 et RDP453
        • La carte RDP454 est introduite.
        • Des régions de mémoire réservées supplémentaires sont utilisées pour améliorer le débogage post-mortem. Des capteurs thermiques (tsens) sont ajoutés et des zones définies. Le moteur de cryptographie est ajouté
      • SC8280XP
        • Prise en charge du GPU ajoutée, ainsi que sur les Lenovo ThinkPad X13
        • des réinitialisations pour les contrôleurs soundwire sont ajoutées
      • L’OUI est spécifié pour les appareils Ethernet sur la plateforme SA8540P Ride, afin d’éviter les problèmes de réinitialisation.
      • QDU1000, SDM845, SM670, SC8180X, SM6350 et SM8550 – Le RSC est ajouté au domaine d’alimentation du cluster CPU pour éliminer les votes de veille et de réveil lorsque le cluster tombe en panne.
      • IPQ8074 – Gagne un autre contrôleur SPI, les points de déclenchement thermique critiques sont définis.
      • MSM8916 et MSM8939 – Les définitions d’état Pinctrl sont nettoyées et l’objectif de msm8939-pm8916 est documenté. MSM8939 a nettoyé les définitions du régulateur, suite aux efforts précédents sur MSM8916.
      • La prise en charge de la mise à l’échelle CPU Bus Fabric est ajoutée au MSM8996 Pro.
      • QCM2290 – Les états d’inactivité du processeur sont ajoutés.
      • QDU1000 – SDHCI est introduit et activé sur l’IDP pour bénéficier du support eMMC. Les régions d’informations IMEM et PIL sont définies pour un débogage post mortem amélioré.
      • Le kit Qualcomm Robotics RB2 fait décrire ses boutons intégrés.
      • Quelques correctifs sont introduits pour le SC8180X nouvellement fusionné, en particulier les blocs DisplayPort sont déplacés vers le domaine d’alimentation MMCX pour éviter que l’alimentation ne soit réduite prématurément lors du démarrage.
      • La description du chargeur est ajoutée au PMIC PMI8998 et activée sur OnePlus 6/6T, SHIFT SHIFT6mq et Xiaomi Pocophone F1.
      • SM6350 – Les états d’inactivité du processeur et UART1 sont ajoutés.
      • SM6375 – Gagne le contrôleur d’horloge GPU et les définitions IOMMU.
      • Le Fairphone FP4 bénéficie du support Bluetooth.
      • SM8150
        • Ajout de la prise en charge du moteur de cryptographie
        • Transition pour utiliser 2 cellules d’interconnexion, et le chemin d’interconnexion USB est décrit pour garantir que les bus sont correctement votés.
        • Les Sony Xperia 1 et 5 bénéficient de la prise en charge des cartes SD, des régulateurs de caméra et des noms de lignes GPIO triés.
      • SM8250
        • Ajout de la prise en charge du moteur de cryptographie
        • Transition pour utiliser 2 cellules d’interconnexion, et le chemin d’interconnexion USB est décrit pour garantir que les bus sont correctement votés.
        • La résolution du framebuffer statique sur Sony Xperia 1 II et 5 II est corrigée.
        • Les Sony Xperia 1 II et 5 II prennent en charge l’accélérateur vidéo matériel.
      • SM8350
        • Prise en charge du moteur de cryptographie
        • Le HDK obtient le graphique USB Type-C décrit pour la commutation d’orientation Superspeed et la sortie DisplayPort.
      • SM8450 – Un contrôleur d’horloge vidéo et un moteur de cryptographie sont ajoutés, les niveaux d’opp manquants sont introduits et le graphique USB Type-C est défini pour la commutation d’orientation et le mode alternatif.
      • SM8350, SM8450 et SM8550 – Les chemins de bus USB sont également ajoutés.
      • SM8550
        • Les gains des contrôleurs GPU et d’horloge vidéo et les niveaux d’opp manquants sont ajoutés
        • Des nœuds DisplayPort sont ajoutés, tout comme le contrôleur PWM pour piloter la LED de notification et le RTC est activé. Pour les cartes MTP et QRD, la carte son et les codecs audio sont définis.
        • Le codec audio WCD9385 est ajouté pour le SM8550 MTP et sur le QRD PCIe, USB, affichage audio et flash LED sont ajoutés.
    • Armer les mises à jour defconfig – N/A
    • Mises à jour de la configuration d’Arm64
      • Activez le pilote FSA4480 pour activer le mode alternatif USB Type-C sur des appareils tels que SM8350 et SM8450 HDK
      • Activez l’horloge APSS IPQ6018 et le contrôleur PLL pour la mise à l’échelle du processeur, et activez la rivière d’horloge GPU pour le SA8775P.
      • Permet divers pilotes d’horloge pour QCM2290, SM6115 et SC8280XP.
      • L’interconnexion et les pilotes du gestionnaire d’alimentation MSM (MPM) sont activés pour permettre au QCM2290 de démarrer.
    • Nouveaux appareils et cartes
      • Snapdragon 8cx – Carte de référence Lenovo Flex 5G et Qualcomm
      • SoC de mise en réseau IPQ – 6x cartes de référence
      • Téléphone Sony Xperia M4 Aqua, ordinateur portable Acer Aspire 1 (Snapdragon 7c) et téléphone Fxtec Pro1 X (SM6115)
  • MédiaTek
    • MediaTek MT7981/MT7988 – Ajout du pilote 1GE PHY intégré
    • ASoC – Nettoyages MediaTek MT8195/86
    • DTS – Ajout d’une compatibilité pour la prise en charge de l’affichage MediaTek MT6795 (Helio X10)
    • Nouvel appareil – N/A
  • Autres nouvelles plates-formes matérielles et SoC Arm
    • Marvell – Endian 4i Edge 200, basé sur la puce armv5 Marvell Kirkwood
    • NVIDIA – Cartes NVIDIA IGX Orin et Jetson Orin Nano, toutes deux basées sur tegra234
    • NXP
      • i.MX 6 – Carte Marantec Maveo basée sur le module dhcor imx6ull
      • NXP i.MX8 – Emtop SoM et carte de base, carte NXP i.MX8MM EVKB et périphérique Gateworks Venice GW7905-2x basé sur i.MX8MP
    • STMicro – Carte de développement PHYTEC STM32MP1-3 basée sur le SoM PHYTEC STM32MP15
    • Texas Instruments
      • Lunettes Epson Moverio BT-200 AR basées sur TI OMAP4
      • Carte PHYTEC phyBOARD-Lyra-AM625 basée sur TI K3/AM625 et famille Toradex Verdin avec AM62 COM, cartes de support et de développement

Modifications RISC-V

Des travaux ont également été effectués sur l’architecture RISC-V :

  • Prise en charge de l’ACPI
  • Divers nettoyages de l’analyse des chaînes ISA, notamment en les rendant insensibles à la casse
  • Prise en charge de l’extension vectorielle
  • Prise en charge des piles irq/softirq indépendantes
  • La liaison CPU DT a désormais « unvaluatedProperties : false »
  • Tête en T Alibaba TH1520
    • Ajout de la prise en charge de la puce quadricœur RISC-V basée sur le cœur Xuantie C910
    • Ajout de la prise en charge de la carte Sipeed Lichee Pi 4A RISC-V – Prend en charge les pilotes UART/GPIO/DMAC de base, donc prend en charge le démarrage sur un shell de base.
  • Allwinner D1 – Pilote pour les deux contrôleurs SPI
  • Arborescences de périphériques pour Linux 6.5
    • StarFive – Nœuds de surveillance pour le JH7110 et son prédécesseur, le JH7100. Prise en charge PMU pour le JH7110. Prise en charge du PMIC et de la mise à l’échelle de fréquence
      pour le VisionFive 2 équipé du JH7110.
    • Divers – Nettoyages

Mises à jour MIPS vers Linux 6.5

Il y avait encore quelques commits pour l’architecture MIPS dans Linux 6.5 :

  • Ajouter la prise en charge de TP-Link HC220 G5 v1
  • Ajouter la prise en charge du Wifi/Bluetooth sur CI20
  • Retravailler l’horloge Ralink et réinitialiser la gestion
  • Nettoyages et correctifs

Un journal des modifications Linux 6.5 complet avec des messages de validation uniquement est également disponible, généré avec la commande git log v6.4..v6.5 --stat. Plus de détails devraient bientôt être disponibles sur le site KernelNewbies.

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video