Zum Inhalt springen

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.

Von Tech AI Wire Team

4 Min. Lesezeit

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.
Foto: Kyu3a / Wikimedia Commons, CC BY-SA 4.0

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.4WerWas sie behebt oder hinzufügt
ANS2-NVMe-Support für Apple M4Yureka LilianSpeichercontroller im M4-Chip
Speicher-Fix im DiskettentreiberDenis Efremov, OracleEin möglicher Stack-Speicherüberlauf
Regressions-Fix für DiskettenDenis Efremov, OracleEin Fehler aus einem Umbau der Laufwerks-Flags von 2017
Data-Race-Fixes für DiskettenCen ZhangKonflikte zwischen gleichzeitig laufendem Code
Fixes am SWIM-TreiberFinn Thain33 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

  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)

Ähnliche Artikel

A small unbranded single-board computer with a USB flash drive plugged in, lying on a gray anti-static mat in an electronics lab beside a ruggedized aluminium enclosure.
Programmieren

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.