Linux 7.4 bringt mit dem Block-Pull NVMe-Support für Apple M4
Der Block-Pull für Linux 7.4 fügt einen Treiber für den ANS2-NVMe-Controller des Apple M4 hinzu, dazu 33 Fixes für einen alten Mac-Diskettentreiber.
4 Min. Lesezeit

Die Zahlen
- 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 hat Unterstützung für den NVMe-Speichercontroller im M4-Chip von Apple übernommen, als Teil des Pulls für das Block-Subsystem, über den Phoronix am 24. Oktober 2026 berichtete. Derselbe Pull repariert Diskettentreiber, darunter einen für klassische Macintosh-Rechner. Für alle, die Linux auf Apple Silicon betreiben, ist der M4-Treiber ein nötiger Schritt, um das interne Laufwerk lesen und beschreiben zu können.
Was der Block-Pull enthält
Das Block-Subsystem ist der Teil des Kernels, der Speichergeräte verwaltet: SSDs, Festplatten und Disketten. Jens Axboe sammelt die Block-Änderungen für jede Version und schickt sie Linus Torvalds als Pull-Request.
Sein Pull für 7.4 mit dem Tag „for-7.4/block-20261021“ landete am 25. Oktober im Hauptzweig des Kernels, laut dem Merge-Commit. Er betrifft 66 Dateien, mit 3.793 hinzugefügten und 1.541 entfernten Zeilen. Seine Zusammenfassung nennt „Apple M4 (t8132) ANS2 NVMe support“ unter den NVMe-Updates, die Keith Busch gesammelt hat.
| Änderung im Block-Pull für 7.4 | Wer | Was sie behebt oder hinzufügt |
|---|---|---|
| ANS2-NVMe-Support für Apple M4 | Yureka Lilian | Speichercontroller im M4-Chip |
| Speicher-Fix im Diskettentreiber | Denis Efremov, Oracle | Ein möglicher Stack-Speicherüberlauf |
| Regressions-Fix für Disketten | Denis Efremov, Oracle | Ein Fehler aus einem Umbau der Laufwerks-Flags von 2017 |
| Data-Race-Fixes für Disketten | Cen Zhang | Konflikte zwischen gleichzeitig laufendem Code |
| Fixes am SWIM-Treiber | Finn Thain | 33 Fixes für den alten Macintosh-Diskettencontroller |
Auch die Updates für io_uring, die schnelle Kernel-Schnittstelle für asynchrone Ein- und Ausgabe, wurden in diesem Zeitraum übernommen. Phoronix nennt diese Änderungen nicht.
Was den M4-Speichertreiber unterscheidet
NVMe ist der Standard, über den schnelle SSDs mit einem Computer kommunizieren. Der Computer legt Befehle in Submission-Queues ab und liest Ergebnisse aus Completion-Queues. ANS2 ist der Name, den der Kernel für den NVMe-Controller im M4-System-on-Chip verwendet, dessen Chip-ID t8132 lautet.
Der Commit erklärt, was die M4-Version ungewöhnlich macht. „Diese Variante erfordert, dass die IO-Queues mit zusätzlichen MMIO-Schreibzugriffen registriert werden“, heißt es dort. MMIO, also Memory-mapped Input/Output, bedeutet, dass der Treiber mit der Hardware spricht, indem er an spezielle Speicheradressen schreibt.
Normalerweise teilt ein Treiber einem NVMe-Laufwerk die Größe jeder Queue in dem Befehl mit, der sie anlegt. Beim M4 wird dieses Größenfeld ignoriert. Stattdessen schreibt der Treiber die Queue-Größen in ein Register am Offset 0x1210. Der Kernel kannte dieses Register bisher als APPLE_ANS_MAX_PEND_CMDS_CTRL.
Die Änderung ist klein: eine Datei, 35 Zeilen hinzugefügt und 4 entfernt im bestehenden Apple-NVMe-Treiber. Sie setzt für den M4 eine maximale Queue-Tiefe von 64. Yureka Lilian schrieb sie am 6. September 2026, Sven Peter prüfte sie, und Keith Busch committete sie. Eine passende einzeilige Änderung fügt die Gerätebeschreibung „apple,t8132-nvme-ans2“ hinzu, bestätigt von Conor Dooley.
Der Treiber kommt in derselben Version wie die ersten Device Trees für M4-Macs. Ein Device Tree ist eine Datei, die dem Kernel sagt, welche Hardware eine Maschine hat und wo sie zu finden ist. Sven Peter, ein Entwickler von Asahi Linux, reichte Trees für sechs M4-Macs ein, berichtete Phoronix am 2. Oktober. Es sind das 14-Zoll-MacBook Pro, zwei 24-Zoll-iMacs, das 13- und das 15-Zoll-MacBook Air sowie der Mac Mini. Die Trees decken nur Grundbausteine ab, etwa die CPU-Kerne, den Interrupt-Controller, die serielle Schnittstelle und den Framebuffer. Die Liste von Phoronix enthält kein NVMe, und die GPU ist nicht aktiviert.
Disketten-Fixes, von Tools gefunden und auf alten Macs getestet
Der Rest des Pulls erinnert daran, wie lange Linux Hardware am Leben hält. Denis Efremovs Speicher-Fix stammt von KASAN, dem Kernel Address Sanitizer. KASAN ist ein Debugging-Werkzeug, das Code erwischt, der Speicher liest oder beschreibt, den er nicht anfassen darf.
Cen Zhangs Data-Race-Fixes wurden mit „our tools“ (unseren Werkzeugen) gefunden, berichtet Phoronix. Die Seite vermutet KI-Werkzeuge, nennt aber kein Tool.
Finn Thain aus der Community, die Linux auf Macs mit Prozessoren der Motorola-68000-Familie am Laufen hält, schickte 33 Fixes für den SWIM-Treiber. SWIM ist der Diskettencontroller in klassischen Macintosh-Rechnern. Er testete sie auf einem Mac Quadra 650, einem Mac LC III, einem Mac Quadra 700 und einem Mac IIvx.
Das Merge-Fenster brachte außerdem einen Treiber für den Controller der Nintendo Switch 2 und schnellere Workqueue-Flushes für große Server.
Was das für Entwickler bedeutet
Der M4-Treiber ist vor allem für die Community von Asahi Linux wichtig und für alle, die Linux auf einem aktuellen Mac nutzen wollen.
- Erwarten Sie nicht, dass M4-Macs allein mit 7.4 Linux ausführen. Die Device Trees in 7.4 reichen laut Phoronix, um den Kernel zu starten, und die meiste andere Hardware muss auf spätere Kernel warten. Asahi Linux, das Projekt, das Linux auf Apple Silicon portiert, erreichte offiziellen M3-Support erst im September und nannte dabei noch fehlende Funktionen.
- Beobachten Sie den Weg in den Hauptzweig. Dieser Treiber kam in den offiziellen Kernel, nicht in einen Fork. Code im Hauptzweig wird mit allem anderen geprüft und gepflegt, was Distributionen die Auslieferung erleichtert.
- Lesen Sie den Commit, wenn Sie Treiber schreiben. Er zeigt kompakt, wie man eine Hardwarevariante mit einem Flag in einem bestehenden Treiber abdeckt statt mit einem neuen.
- Testen Sie alte Hardware, wenn Sie sie noch nutzen. Wer einen Linux-Rechner mit Diskettenlaufwerk hat: 7.4 ändert die Disketten- und SWIM-Treiber. Probieren Sie es mit den Release-Kandidaten, beginnend mit 7.4-rc1.
- Rechnen Sie mit mehr Fehlern, die Tools finden. KASAN fand einen Fix, unbenannte Werkzeuge fanden andere. Projekte, die alte Treiber pflegen, sollten Sanitizer auch in ihren eigenen Testumgebungen laufen lassen.
Quellen
- Linux 7.4 Block Updates Range From Floppy Disk Driver Fixes To Apple M4 NVMe Support - Phoronix
- nvme: apple: add t8132 (M4) ANS2 NVMe support - Linux kernel (GitHub mirror)
- Linux 7.4 To Introduce Initial Device Trees For Apple M4, A18 Pro For MacBook Neo - Phoronix
- Merge tag 'for-7.4/block-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux - Linux kernel (GitHub mirror)
Ähnliche Artikel

Torvalds' Seitencache-Patch überarbeitet: 4,5-mal schneller auf ext4
Kiryl Shutsemau von Meta hat Torvalds' Seitencache-Patch zu einem RFC mit 18 Patches ausgebaut. Mit 64 Threads auf ext4 stiegen kleine Lesezugriffe von etwa 15 auf 70 Millionen pro Sekunde.

BeamFS-RFC: ein Reed-Solomon-Dateisystem für Linux
BeamFS, ein Linux-RFC mit 18 Patches, speichert jeden Block als Reed-Solomon-Codewörter und kann so gekippte Bits auf einer einzigen Festplatte reparieren, auf Kosten von 7 % des Speicherplatzes.

Linux 7.3 erschienen: fchroot, failfs und schnelleres Btrfs
Linus Torvalds hat Linux 7.3 am 18. Oktober 2026 veröffentlicht: 18.765 Commits von 3.021 Entwicklern, neue Sandboxing-Werkzeuge und bis zu 5-mal schnelleres Btrfs-fsync.