Linus Torvalds vient d’annoncer la sortie de Linux 6.9 sur LKML :
Thorsten rapporte donc encore quelques correctifs de régression qui ne me sont pas encore parvenus, mais aucun d’entre eux ne semble suffisamment important ou inquiétant pour retarder la sortie d’une semaine supplémentaire. Nous devrons les rétroporter lorsqu’ils seront résolus et frappés en amont.
La version 6.9 est donc maintenant disponible, et la semaine dernière a semblé assez stable (et l’ensemble de la version a semblé assez normal). Vous trouverez ci-dessous le shortlog de la semaine dernière, les changements étant principalement dominés par certaines mises à jour de pilotes (le GPU et le réseau étant les plus importants, mais « gros » est encore assez petit, et il y a également divers autres bruits de pilote).
En dehors des pilotes, il s’agit de correctifs du système de fichiers (bcachefs se démarque toujours, mais ksmbd apparaît également), de correctifs d’autotest tardifs et de correctifs de réseau de base.
Et j’ai maintenant une machine arm64 plus puissante (grâce à Ampere), donc la semaine dernière, j’ai fait presque autant de builds arm64 que de x86-64, et cela devrait évidemment continuer pendant la prochaine fenêtre de fusion également. L’ordinateur portable M2 que je possède est davantage un « test hebdomadaire » plutôt que « continu ».
Non pas que je m’attende vraiment à ce que cela montre vraiment des problèmes – les versions d’ordinateurs portables ne l’ont jamais fait – mais je me sens plus heureux d’avoir un peu plus de couverture.
Quoi qu’il en soit, continuez à tester, et cela signifie évidemment que demain la fenêtre de fusion pour la version 6.10 s’ouvre. J’ai déjà quelques dizaines de pull request en attente, j’apprécie les lève-tôt,
Linus
Sorti il y a environ deux mois, Linux 6.8 nous a apporté un nouveau pilote expérimental Intel Xe drm qui vise à remplacer l’ancien pilote i915 pour les nouveaux GPU Intel, la possibilité pour le sous-système zswap de forcer les pages froides à être (réelles) échangées lorsque la mémoire devient limitée. , prise en charge de Rust pour la création de pilotes réseau PHY, meilleure efficacité du cache pour la mise en réseau grâce à la réorganisation des structures de données et bien d’autres changements. Linux 6.8 se trouve également être le noyau par défaut du système d’exploitation Ubuntu 24.04 qui vient de sortir.

Principaux changements dans Linux 6.9
Certains changements notables pour le nouveau noyau Linux 6.9 incluent :
- Ajout de la prise en charge d’Intel Flexible Return and Event Delivery (FRED), qui vise à améliorer la diffusion d’événements de bas niveau et permet un code plus simple et plus fiable ; Voir la documentation commit pour plus de détails
- Ajout de la prise en charge de l’exécution d’invités AMD Secure Nested Paging (SNP) (voir la documentation PDF), qui fait partie de la solution informatique confidentielle d’AMD. Cependant, la prise en charge complète nécessite des modifications KVM qui ont été reportées jusqu’à Linux 6.10.
- Les atténuations de la dernière vulnérabilité matérielle x86 « Register File Data Sampling » (RFDS) affectant les processeurs Intel Atom ont été fusionnées. Plus de détails peuvent être trouvés dans cette validation de documentation.
- Linux 6.9 peut utiliser la fonctionnalité d’espaces d’adressage nommés de GCC pour optimiser l’accès aux données par CPU.
- La prise en charge initiale du relais FUSE a été fusionnée. Cette fonctionnalité permet aux E/S des fichiers servis par un serveur FUSE en espace utilisateur d’être gérées directement par le noyau, ce qui entraîne une augmentation significative des performances dans certaines conditions. Le mode passthrough ne prend en charge que les serveurs privilégiés sous Linux 6.9.
Journal des modifications Linux 6.9 pour l’architecture Arm
- Le langage Rust est désormais pris en charge sur les processeurs Arm 64 bits.
- Il est désormais possible d’exécuter des processeurs Arm 64 bits en mode LPA2, qui configure un espace d’adressage virtuel de 52 bits.
- Gagnant
- Allwinner H616 – Ajout de pilotes SPDIF, DMA et thermiques
- Nouveaux appareils
- Puce de roche
- Audio – Ajout d’un pilote de codec audio interne pour RK3308
- Pilote PHY – Pilote Rockchip HDMI/eDP Combo PHY
- Horloge
- Nouveau taux PLL pour Rockchip RK3568
- Améliorations du taux I2S pour Rockchip RK3399
- Corrections de l’horloge syscon Rockchip RK3588 et suppression du numéro d’horloge global de l’en-tête de liaison RK3588
- Une condition préalable aux améliorations ultérieures des horloges liées Rockchip RK3588
- Mises à jour de l’arborescence des appareils Arm64
- Nouveaux appareils
- Theobroma Systems RK3588-Q7 QsevenSoM
- Carte Toybrick TB-RK3588X
- Console de jeu Powkiddy RGB10MAX3 (RK3566)
- Tablette Pine64 PineTab2 (RK3566)
- Consoles de jeux portables Anbernic RG-ARC S et RG-ARC D (RK3566)
- NAS à quatre baies QNAP TS433 (RK3566)
- Amlogic
- Pilote d’horloge – Correction de la liste d’horloge Oups sur Amlogic axg
- Amlogic T7 – Pilotes GPIO et IRQ
- Modifications d’Amlogic ARM64 DT pour Linux 6.9 :
- Ajouter un contrôleur de réinitialisation pour Amlogic C3
- Définir le débit initial pour le NPU sur les SoC Amlogic G12
- Définir les horloges initiales pour USB sur Amlogic A1
- Initialiser la capacité du SoC Amlogic AXG
- Supprimer la remarque instable sur les liaisons Amlogic
- Ajouter tous les mainteneurs/réviseurs Amlogic sur les liaisons Amlogic SoC
- Nettoyages – Espaces T7, soulignement dans les noms
- Nouvel appareil – Freebox Pop Player (Set-To-Box IPTV du fournisseur Internet gratuit français basé sur Amlogic Meson G12A S905X2)
- Samsung
- Étendez le pilote Exynos PMU (Power Management Unit) en étant également le bloc syscon vers les registres du contrôleur système principal, pour prendre en charge Google GS101. Le Google GS101 dispose de registres PMU protégés et l’écriture est disponible uniquement via SMC. Le PMU Exynos enregistrera sa propre regmap personnalisée pour un tel cas de MMIO+SMC mixtes.
- Retravaillez le pilote de surveillance Samsung pour obtenir le bloc regmap vers PMU non pas via l’API syscon, mais à partir du pilote Exynos PMU. Ceci est nécessaire pour que le pilote de surveillance fonctionne sur Google GS101.
- Modifications de DTS Arm pour Linux 6.9
- Désactivez l’interrogation thermique par Linux dans les cartes Eynos5422 Odroid XU3, car les pilotes implémentent une gestion dynamique appropriée des points de déclenchement.
- Marquez crosc-ec-spi dans Peach Pi et Peach Pit comme source de réveil, pour refléter les capacités matérielles.
- Samsung P4 Note (Exynos4412) : ajouter un accéléromètre.
- Samsung Galaxy Tab (Exynos5420)
- Réduisez la RAM disponible pour éviter les conflits avec TrustZone.
- Ajoutez le WiFi sur MMC.
- Modifications du Samsung DTS ARM64
- Fonctionne principalement autour du SoC Google GS101 et du téléphone Pixel (Oriole) en ajoutant la prise en charge de :
- Source d’horloge Multi Core Timer (MCT).
- Plusieurs contrôleurs d’horloge (liaisons DTS et DT) et utilisent de nouvelles horloges dans plusieurs autres nœuds de périphériques.
- Plus d’instances d’interface série : USI8 et USI12 avec I2C.
- Exynos850 – Contrôleurs SPI et DMA (PL330).
- Fonctionne principalement autour du SoC Google GS101 et du téléphone Pixel (Oriole) en ajoutant la prise en charge de :
- Modifications de la configuration de la configuration – N/A
- Nouveaux appareils – N/A
- Qualcomm
- Pilote PHY – Prise en charge Qualcomm X1E80100 PCIe phy, SM8550 PCIe1 PHY, SC7180 UFS PHY et prise en charge SDM630 USB-C
- Wifi
- Qualcomm (ath11k) :
- Prise en charge des modes d’alimentation de la station 6 GHz : Low Power Indoor (LPI), Standard Power) SP et Very Low Power (VLP)
- QCA6390 et WCN6855 : prennent en charge 2 interfaces de station simultanées
- Prise en charge de QCA2066
- Qualcomm (ath12k) :
- Refactorisation en préparation pour la prise en charge de Multi-Link Operation (MLO)
- 1024 Prise en charge de la taille de la fenêtre Block Ack
- prise en charge du firmware-2.bin
- prise en charge de plusieurs périphériques PCI identiques (le micrologiciel doit avoir ATH12K_FW_FEATURE_MULTI_QRTR_ID)
- QCN9274 : prend en charge les appareils split-PHY
- WCN7850 : activer le mode d’économie d’énergie en mode station
- WCN7850 : prise en charge du P2P
- Qualcomm (ath11k) :
- Mises à jour ARM32 DTS
- MSM8226 – Les nœuds SAW et ACC sont introduits pour activer la prise en charge SMP. La définition du chien de garde est également ajoutée et tous les nœuds sont triés et nettoyés
en haut. La mémoire rmtfs est définie sur le HTC One Mini 2, la prise en charge du vibreur est ajoutée à la LG G Watch R, les codes de touches tactiles sont définis pour le Samsung Galaxy Tab 4. Le DeviceTree du Samsung Galaxy Tab 4 est refactorisé pour permettre l’introduction facile de plus de variantes. - Les nœuds SAW sur APQ8064, IPQ8064, MSM8960 et MSM8974 sont mis à jour sur la base de travaux récents sur la liaison et le pilote.
- IPQ8064 – Les nœuds SAW sont nettoyés et les noms de réinitialisation inutilisés sont supprimés de DWC3.
- MSM8960 – GSBI3 et le bus I2C qu’il contient sont introduits, afin d’introduire la prise en charge de l’écran tactile sur le Samsung Galaxy Express SGH-I437. Les clés gpio sont introduites de la même manière.
- MSM8974 – La taille du registre QFPROM est corrigée. L’ordre des horloges dans le nœud SDX65 DWC3 est corrigé pour correspondre à la liaison.
- Les options mach-qcom Kconfig sont nettoyées, pour éviter les options inutiles par plate-forme.
- MSM8226 – Les nœuds SAW et ACC sont introduits pour activer la prise en charge SMP. La définition du chien de garde est également ajoutée et tous les nœuds sont triés et nettoyés
- Mises à jour Arm64 DTS pour Linux 6.9
- Snapdragon X Elite – La prise en charge des télécommandes audio et de calcul, IPCC, PCIe, AOSS QMP, SMP2P, TCSR, USB, affichage, audio et soundwire est introduite et activée sur les appareils CRD et QCP.
- SM8650 – Les contrôleurs PCIe sont déplacés vers GIC-ITS et msi-map-mask est défini. La région de mémoire réservée qlink-logging manquante est ajoutée pour le modem distant. Les contextes de calcul FastRPC sont marqués DMA-coherent. La prise en charge audio, USB Type-C et PM8010 est introduite sur les appareils MTP et QRD.
- Les dispositifs de refroidissement GPU sont connectés aux MSM8916, MSM8939, SC8180X, SDM630, SDM845, SM6115, SM8150, SM8250, SM8350 et SM8550.
- Les horloges UFS PHY sont corrigées sur MSM8996, MSM8998, SC8180X, SC8280XP, SDM845, SM6115, SM6125, SM8150, SM8250, SM8350, SM8550 et SM8650.
- Les interruptions PCI MSI sont câblées sur les SM8150, SM8250, SM8350, SM8450, SM8550, SM8650, SC7280 et SC8180X.
- IPQ6018 – QUP5 I2C, les zones thermiques de sable tsens sont définies.
- Le moteur de chiffrement en ligne (ICE) est activé pour IPQ9574.
- MSM8953 – Le GPU et son IOMMU sont introduits, la réinitialisation du sous-système d’affichage est également câblée.
- Les registres VLS CLAMP sont spécifiés pour les PHY USB3 sur MSM8998, QCM2290 et SM6115.
- QRB4210 RB2 – La gestion des ports USB Type-C est activée.
- SA8295P ADP – Le régulateur MAX20411 alimentant les rails GPU est introduit et le GPU est activé. La première instance PCI sur SA8540P Ride est désactivée pour le moment, car aucun correctif pour la tempête d’interruptions produite ici n’a été présenté.
- SA8775P – La carte mémoire du micrologiciel a changé et est mise à jour. L’IRQ de sécurité est ajoutée au contrôleur Ethernet.
- SC7180 – La prise en charge UFS est introduite et le cros-ec-spi est marqué comme source de réveil.
- SC7280 – Les propriétés de capacité et DPC sont ajoutées, la définition de cryptobam est améliorée pour fonctionner dans davantage d’environnements de micrologiciels, davantage de propriétés spécifiques à Chrome sont supprimées du dtsi principal et cros-ec-spi est créé comme source de réveil. La définition Slimbus est ajoutée à la plateforme.
- Une plage de mémoire réservée manquante est ajoutée au Fairphone FP5, PMIC GLINK et Venus sont activés. Des LED sont introduites et les paramètres de tension sont corrigés sur le QCM6490 IDP, et RB3gen2 voit les mêmes changements de tension et des horloges protégées par GCC sont introduites pour permettre à la carte de démarrer correctement.
- Des statistiques de veille RPMh ainsi qu’une variété de nettoyages et de correctifs sont introduits pour le SC8180X.
- SC8280XP – Les instances tsens supplémentaires sont introduites. Le sous-système de caméra et l’interface de contrôle de caméra (CCI) sont ajoutés. Les canaux VADC de température de matrice PMIC sont introduits sur le CRD, pour permettre aux canaux ADC d’être liés aux alarmes de température PMIC partagées, pour signaler réellement la température.
- SDM630 – La prise en charge USB QMP PHY est introduite et activée sur la carte Inforce IFC6560. Sur les différentes variantes du Sony Xperia XA2, WLED est activé et configuré.
- SM6350 – Des interconnexions de sous-système d’affichage et des zones thermiques basées sur tsens sont ajoutées.
- SM7125 – La prise en charge UFS est ajoutée.
- Fairphone FP4 (SM7225) – L’affichage et le GPU sont activés et les chemins du micrologiciel sont corrigés.
- SM8150 – Les définitions du contrôleur PCIe sont corrigées.
- SM8550 – Comme pour le SM8650, les contextes de calcul fastrpc du SM8550 sont marqués dm-coherent et les contrôleurs PCIe sont déplacés pour utiliser GIC-ITS. La définition de fréquence du contrôleur UFS est déplacée vers la table opp générique. L’écran tactile est activé sur le périphérique QRD.
- Une variété de nettoyages et de corrections plus petits pour correspondre aux liaisons DeviceTree et aux directives de style sont introduits dans les différents fichiers.
-
- Mises à jour de la configuration d’Arm64
- Activez le pilote Qualcomm PBS pour résoudre la dépendance du générateur d’impulsions lumineuses (pilote LED) sur les plates-formes Qualcomm modernes. Activez les contrôleurs d’horloge multimédia X1E pour fournir des horloges pour les différents blocs multimédia. Activez le contrôleur d’horloge global et les pilotes d’interconnexion pour les plates-formes QDU1000/QRU1000.
- Activez les pilotes audio et le pilote d’écran tactile Goodi Berlin, utilisés sur le SM8650 QRD.
- Activez le pilote du régulateur MAX20411 pour piloter le rail GPU sur SA8295P.
- Marquez les fournisseurs d’interconnexion Qualcomm qui alimentent les instances UART comme intégrés, pour garantir que la console existe au lancement de l’espace utilisateur.
- Nouveaux appareils et cartes
- Samsung Galaxy Tab 4 10.1 LTE
- Quatre variantes de Samsung Galaxy Core Prime et Grand Prime, construites sur MSM8916
- Kit de développement matériel (HDK) SM8550 (Snapdragon 8 Gen 2)
- Mises à jour de la configuration d’Arm64
- MédiaTek
- Ajout de la prise en charge des SoC réseau Mediatek MT7981B (Filogic 820) et MT7988A (Filogic 880) conçus pour être utilisés dans les routeurs sans fil, et similaires au MT7986A (Filogic 830) déjà pris en charge.
- Pilote PHY – Pilote physique Mediatek MT8365 CSI
- Moteur DMA – Conversion Yaml pour la liaison du contrôleur MediaTek High-Speed
- Ajouter la prise en charge du son au CODEC MediaTek MT6357
- Pilote wifi mt76 :
- mt7915 : prise en charge de la nouvelle version d’ADIE
- mt7925 : prise en charge du capteur de température radio
- Mises à jour defconfig
- Armer les mises à jour de Devicetree pour Linux 6.9
- Ajoute davantage de prise en charge pour les encodeurs vidéo et JPEG du SoC MediaTek MT8186
- Ajoute des horloges MT7988
- Permet la prise en charge du réveil pour CrOS EC sur SPI dans tous les Chromebooks MediaTek
- Effectue quelques nettoyages et inclut quelques correctifs de rechange.
- Nouveaux appareils
- Xiaomi AX3000T (MT7981B)
- Acelink EW-7886CAX (MT7986A)
- Banane Pi BPI-R4 (MT7988A)
- Chromebooks MT8186 : Tentacruel, Tentacool, Steelix, Rusty, Magneton
- Radxa NIO 12L basé sur MediaTek Genio 1200 (MT8395)
- Autres nouvelles plates-formes matérielles et SoC Arm
- NVIDIA – Deux téléphones Android basés sur l’ancienne puce Tegra30
- NXP
- Ajout de la prise en charge de i.MX8DXP, une variante de i.MX8QXP, avec deux cœurs de processeur en moins.
- Huit cartes embarquées utilisant NXP i.MX6/8/9
- Renesas
- Ajout de la prise en charge des SoC automobiles R8A779G2 (R-Car V4H ES2.0) et R8A779H0 (R-Car V4M).
- Trois variantes de la carte « White Hawk » pour les SoC automobiles Renesas
- Texas Instruments
- Le J722S est une autre variante automobile de sa famille K3, liée à la série AM62.
- Ajout de nœuds GPU PowerVR SGX
- Trois cartes d’évaluation pour les SoC basés sur TI K3
- Modifications liées au Raspberry Pi – Wifi – Correction d’un crash de démarrage sur Raspberry Pi 4 introduit avec la validation « autoriser la gestion des événements par fournisseur » en janvier dernier.
Mises à jour RISC-V sous Linux 6.9
RISC-V a eu son lot de changements dans Linux 6.9 :
- Prise en charge de diverses routines de chiffrement accélérées par vecteur
- L’hibernation est désormais activée pour les versions portables du noyau
- mmap_rnd_bits_max est plus grand sur les systèmes avec des VA plus grands
- Prise en charge du GUP rapide
- Prise en charge de la synchronisation du cache d’instructions basée sur les membres
- Prise en charge du contrôleur d’interruption de niveau cardiaque Andes et du PMU
- Quelques nettoyages autour de la détection de vitesse d’accès non alignée et des paramètres Kconfig
- Prise en charge d’ACPI LPI et CPPC
- Divers nettoyages liés aux barrières
- Une poignée de correctifs
- Puce électronique
- Horloges de bus manquantes pour les contrôleurs CAN repérées lors de la création d’un driver pour les contrôleurs
- Compatible spécifique pour le bloc SiFive PDMA sur PolarFire SoC.
- SiFive – Retravaillez le pilote SiFive PLIC pour préparer le support MSI
- Sophogo
- SG2042 – Ajouter un contrôleur de réinitialisation, prise en charge du générateur de réinitialisation
- CV1800B et SG2002 – Contrôleurs MMC et SD
- ÉtoileCinq
- Ajout de StarFive StarLink PMU (Performance Monitoring Unit) avec prise en charge de la surveillance des événements PMU du système de mémoire L3
- SoC JH8100 – pilote IRQ, prise en charge de Watchdog, StartLink PMU, (OpenCores) PWM,
- JH7110 SoC – Ajouter des nœuds de sous-système de caméra (dphy-rx, csi2rx, nœuds camss), DWMAC, PWM
- VisionFive V1 SBC – Configuration Ethernet PHY
- Alibaba T-tête
- TH1520
- Augmentez le nombre de boucles de réglage à 128 pour le pilote de carte SD
- Activer les pilotes mmc et dma ; nécessaire pour démarrer des cartes comme le LicheePi 4A et le BeagleV-Ahead à partir du flash eMMC
- TH1520
Modifications du MIPS
Le résumé des modifications apportées à l’architecture MIPS a été l’un des plus courts jamais réalisés :
- Ajout de la prise en charge des SoC Mobileye
- Gestion unifiée des enregistrements GPR/CP0 pour uasm
- Nettoyages et correctifs
Voici la forme plus longue :
- mips: cm : Convertir __mips_cm_phys_base() en fonction faible
- mips: cm : Convertir __mips_cm_l2sync_phys_base() en fonction faible
- mips : dts : ralink : mt7621 : ajouter des propriétés de nombre de cellules à l’usb
- mips : dts : ralink : mt7621 : ajouter des nœuds série1 et série2
- mips : dts : ralink : mt7621 : réorganiser les propriétés Serial0
- mips : dts : ralink : mt7621 : associer uart1_pins à Serial0
- MIPS : ralink : n’utilisez pas d’en-têtes « proxy »
- mips : sibyte : rendre tb_class constant
- mips : mt : rendre mt_class constant
- MIPS : ralink : suppression de of_gpio.h inutilisé
- bus : bt1-apb : supprimer l’inclusion en double
- MAINTENANTS : supprimer l’entrée d’un fichier inexistant dans MOBILEYE MIPS SOCS
- MIPS : mipsregs : analyser les registres fp et sp par nom dans parse_r
- tty : mips_ejtag_fdc : correction du passage d’un avertissement de type de pointeur incompatible
- mips : zboot : correction de l’avertissement de construction « aucun prototype précédent »
- MIPS : mipsregs : définir le niveau ISA approprié pour les extensions virt
- MIPS : implémenter les assistants microMIPS MT ASE
- MIPS : limiter la prise en charge de MIPS_MT_SMP par la réversion ISA
- MIPS : Loongson64 : test pour -march=loongson3a cflag
- MIPS : BMIPS : supprimez l’indicateur d’assembleur inutile
J’ai également généré le journal complet des modifications de Linux 6.9 avec uniquement les messages de validation, à l’aide de la commande git log v6.8..v6.9-rc7 --stat. De plus amples détails ne peuvent être trouvés que dans les articles LWN pertinents et le journal des modifications de Kernelnewbies devrait bientôt être mis à jour.
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

