Aller au contenu

Linux 7.4 ajoute la prise en charge NVMe de l'Apple M4 via le pull block

Le pull block de Linux 7.4 ajoute un pilote pour le contrôleur NVMe ANS2 de l'Apple M4, ainsi que 33 correctifs pour un ancien pilote de disquette Mac.

Par Tech AI Wire Team

4 min de lecture

XLinkedIn
A silver M4 Mac mini with the Apple logo on top sits on a wooden table, two USB-C ports and a headphone jack on its front.
Photo: Kyu3a / Wikimedia Commons, CC BY-SA 4.0

En chiffres

maximum queue depth the new driver sets for the M4 controller
64
fixes to the SWIM floppy driver for classic Macs
33
files changed by the 7.4 block pull
66

Linux 7.4 a intégré la prise en charge du contrôleur de stockage NVMe de la puce M4 d'Apple, dans le cadre du pull du sous-système block dont Phoronix a rendu compte le 24 octobre 2026. Le même pull corrige des pilotes de disquette, dont un pour les Macintosh classiques. Pour ceux qui font tourner Linux sur Apple Silicon, le pilote M4 est une étape nécessaire pour lire et écrire sur le disque interne.

Ce que contient le pull block

Le sous-système block est la partie du noyau qui gère les périphériques de stockage : SSD, disques durs et disquettes. Jens Axboe rassemble les changements block de chaque version et les envoie à Linus Torvalds sous forme de pull request.

Son pull pour la 7.4, étiqueté « for-7.4/block-20261021 », est arrivé dans la branche principale du noyau le 25 octobre, selon le commit de fusion. Il touche 66 fichiers, avec 3 793 lignes ajoutées et 1 541 supprimées. Son résumé cite « Apple M4 (t8132) ANS2 NVMe support » parmi les mises à jour NVMe rassemblées par Keith Busch.

Changement du pull block 7.4AuteurCe qu'il corrige ou ajoute
Prise en charge NVMe ANS2 de l'Apple M4Yureka LilianContrôleur de stockage de la puce M4
Correctif mémoire du pilote de disquetteDenis Efremov, OracleUn possible débordement de la mémoire de pile
Correctif de régression disquetteDenis Efremov, OracleUn bug issu d'une refonte de 2017 des drapeaux de lecteur
Correctifs de courses de données disquetteCen ZhangConflits entre du code exécuté en même temps
Correctifs du pilote SWIMFinn Thain33 correctifs pour l'ancien contrôleur de disquette Macintosh

Les mises à jour d'io_uring, l'interface rapide du noyau pour les entrées-sorties asynchrones, ont aussi été intégrées pendant cette période. Phoronix ne détaille pas ces changements.

En quoi le pilote de stockage M4 diffère

NVMe est la façon standard dont les SSD rapides dialoguent avec un ordinateur. L'ordinateur place des commandes dans des files de soumission et lit les résultats dans des files de complétion. ANS2 est le nom que le noyau donne au contrôleur NVMe du système sur puce M4, dont l'identifiant de puce est t8132.

Le commit explique ce qui rend la version M4 inhabituelle. « Cette variante exige que les files d'E/S soient enregistrées au moyen d'écritures MMIO supplémentaires », indique-t-il. Le MMIO, ou entrées-sorties mappées en mémoire, signifie que le pilote parle au matériel en écrivant à des adresses mémoire spéciales.

Normalement, un pilote indique à un disque NVMe la taille de chaque file dans la commande qui la crée. Sur le M4, ce champ de taille est ignoré. À la place, le pilote écrit la taille des files dans un registre situé à l'offset 0x1210. Le noyau connaissait auparavant ce registre sous le nom APPLE_ANS_MAX_PEND_CMDS_CTRL.

Le changement est petit : un seul fichier, 35 lignes ajoutées et 4 supprimées dans le pilote NVMe Apple existant. Il fixe une profondeur de file maximale de 64 pour le M4. Yureka Lilian l'a écrit le 6 septembre 2026, Sven Peter l'a relu et Keith Busch l'a intégré. Un changement d'une ligne ajoute la description de périphérique « apple,t8132-nvme-ans2 », approuvée par Conor Dooley.

Le pilote arrive dans la même version que les premiers device trees pour les Mac M4. Un device tree est un fichier qui indique au noyau quel matériel possède une machine et où le trouver. Sven Peter, développeur d'Asahi Linux, a soumis des device trees pour six Mac M4, a rapporté Phoronix le 2 octobre. Il s'agit du MacBook Pro 14 pouces, de deux iMac 24 pouces, des MacBook Air 13 et 15 pouces et du Mac Mini. Ces device trees ne couvrent que des blocs de base, comme les cœurs du processeur, le contrôleur d'interruptions, le port série et le framebuffer. La liste de Phoronix ne comprend pas le NVMe, et le GPU n'est pas activé.

Des correctifs disquette trouvés par des outils et testés sur de vieux Mac

Le reste du pull rappelle combien de temps Linux garde le matériel en vie. Le correctif mémoire de Denis Efremov vient de KASAN, le Kernel Address Sanitizer. KASAN est un outil de débogage qui repère le code lisant ou écrivant une mémoire à laquelle il ne devrait pas toucher.

Les correctifs de courses de données de Cen Zhang ont été trouvés avec « our tools » (nos outils), selon Phoronix. Le site suppose qu'il s'agit d'outils d'IA, mais aucun outil n'est nommé.

Finn Thain, issu de la communauté qui fait tourner Linux sur les Mac à processeurs de la famille Motorola 68000, a envoyé 33 correctifs pour le pilote SWIM. SWIM est le contrôleur de disquette des Macintosh classiques. Il les a testés sur un Mac Quadra 650, un Mac LC III, un Mac Quadra 700 et un Mac IIvx.

La fenêtre de fusion a aussi apporté un pilote pour la manette de la Nintendo Switch 2 et des vidages de workqueue plus rapides pour les gros serveurs.

Ce que cela signifie pour les développeurs

Le pilote M4 compte surtout pour la communauté Asahi Linux et pour tous ceux qui veulent Linux sur un Mac récent.

  • Ne comptez pas sur la seule 7.4 pour faire tourner Linux sur un Mac M4. Les device trees de la 7.4 suffisent pour commencer à démarrer le noyau, selon Phoronix, et la plupart des autres composants attendent des noyaux ultérieurs. Asahi Linux, le projet qui porte Linux sur Apple Silicon, n'a atteint la prise en charge officielle du M3 qu'en septembre, et listait encore des fonctions manquantes.
  • Suivez le chemin vers la branche principale. Ce pilote est entré dans le noyau officiel, pas dans un fork. Le code intégré en amont est relu et maintenu avec tout le reste, ce qui aide les distributions à le livrer.
  • Lisez le commit si vous écrivez des pilotes. C'est un exemple compact de prise en charge d'une variante matérielle par un drapeau dans un pilote existant plutôt que par un nouveau pilote.
  • Testez le vieux matériel si vous l'utilisez encore. Si vous gardez une machine Linux avec un lecteur de disquette, la 7.4 modifie les pilotes de disquette et SWIM. Essayez les versions candidates, à commencer par la 7.4-rc1.
  • Attendez-vous à plus de bugs trouvés par des outils. KASAN a trouvé un correctif et des outils non nommés en ont trouvé d'autres. Les projets qui maintiennent de vieux pilotes devraient aussi lancer des sanitizers dans leurs propres environnements de test.

Sources

  1. Linux 7.4 Block Updates Range From Floppy Disk Driver Fixes To Apple M4 NVMe Support - Phoronix
  2. nvme: apple: add t8132 (M4) ANS2 NVMe support - Linux kernel (GitHub mirror)
  3. Linux 7.4 To Introduce Initial Device Trees For Apple M4, A18 Pro For MacBook Neo - Phoronix
  4. Merge tag 'for-7.4/block-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux - Linux kernel (GitHub mirror)

Articles liés