Saltar al contenido

Linux 7.4 añade soporte NVMe para Apple M4 en su pull de block

El pull de block de Linux 7.4 añade un controlador para el controlador NVMe ANS2 del Apple M4, además de 33 correcciones para un antiguo driver de disquete de Mac.

Por Tech AI Wire Team

4 min de lectura

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

En cifras

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 ha integrado el soporte para el controlador de almacenamiento NVMe del chip M4 de Apple, como parte del pull del subsistema block del que informó Phoronix el 24 de octubre de 2026. El mismo pull corrige drivers de disquete, incluido uno para los Macintosh clásicos. Para quienes usan Linux en Apple Silicon, el driver del M4 es un paso necesario para leer y escribir en la unidad interna.

Qué contiene el pull de block

El subsistema block es la parte del kernel que gestiona los dispositivos de almacenamiento: SSD, discos duros y disquetes. Jens Axboe reúne los cambios de block de cada versión y se los envía a Linus Torvalds como un pull request.

Su pull para la 7.4, etiquetado "for-7.4/block-20261021", llegó a la rama principal del kernel el 25 de octubre, según el commit de fusión. Afecta a 66 archivos, con 3.793 líneas añadidas y 1.541 eliminadas. Su resumen incluye "Apple M4 (t8132) ANS2 NVMe support" entre las actualizaciones de NVMe reunidas por Keith Busch.

Cambio en el pull de block de la 7.4AutorQué corrige o añade
Soporte NVMe ANS2 para Apple M4Yureka LilianControlador de almacenamiento del chip M4
Arreglo de memoria del driver de disqueteDenis Efremov, OracleUn posible desbordamiento de la memoria de pila
Arreglo de regresión de disqueteDenis Efremov, OracleUn fallo de una reestructuración de 2017 de los indicadores de unidad
Arreglos de carreras de datos de disqueteCen ZhangConflictos entre código que se ejecuta a la vez
Arreglos del driver SWIMFinn Thain33 arreglos para el antiguo controlador de disquete de Macintosh

Las actualizaciones de io_uring, la interfaz rápida del kernel para entrada y salida asíncrona, también se integraron en este periodo. Phoronix no detalla esos cambios.

En qué se diferencia el driver de almacenamiento del M4

NVMe es la forma estándar en que los SSD rápidos se comunican con un ordenador. El ordenador coloca comandos en colas de envío y lee los resultados en colas de finalización. ANS2 es el nombre que el kernel da al controlador NVMe del sistema en chip M4, cuyo identificador de chip es t8132.

El commit explica qué hace inusual a la versión del M4. "Esta variante requiere que las colas de E/S se registren mediante escrituras MMIO adicionales", dice. MMIO, o entrada/salida mapeada en memoria, significa que el driver habla con el hardware escribiendo en direcciones de memoria especiales.

Normalmente, un driver indica a una unidad NVMe el tamaño de cada cola dentro del comando que la crea. En el M4, ese campo de tamaño se ignora. En su lugar, el driver escribe los tamaños de las colas en un registro en el desplazamiento 0x1210. El kernel conocía antes ese registro como APPLE_ANS_MAX_PEND_CMDS_CTRL.

El cambio es pequeño: un archivo, 35 líneas añadidas y 4 eliminadas en el driver NVMe de Apple existente. Fija una profundidad máxima de cola de 64 para el M4. Yureka Lilian lo escribió el 6 de septiembre de 2026, Sven Peter lo revisó y Keith Busch lo integró. Un cambio de una línea añade la descripción de dispositivo "apple,t8132-nvme-ans2", aprobada por Conor Dooley.

El driver llega en la misma versión que los primeros device trees para los Mac con M4. Un device tree es un archivo que le dice al kernel qué hardware tiene una máquina y dónde encontrarlo. Sven Peter, desarrollador de Asahi Linux, envió device trees para seis Mac con M4, informó Phoronix el 2 de octubre. Son el MacBook Pro de 14 pulgadas, dos iMac de 24 pulgadas, los MacBook Air de 13 y 15 pulgadas y el Mac Mini. Solo cubren bloques básicos, como los núcleos de la CPU, el controlador de interrupciones, el puerto serie y el framebuffer. La lista de Phoronix no incluye NVMe, y la GPU no está habilitada.

Arreglos de disquete, hallados con herramientas y probados en Mac antiguos

El resto del pull recuerda cuánto tiempo mantiene Linux vivo el hardware. El arreglo de memoria de Denis Efremov vino de KASAN, el Kernel Address Sanitizer. KASAN es una herramienta de depuración que detecta código que lee o escribe memoria que no debería tocar.

Los arreglos de carreras de datos de Cen Zhang se encontraron con "our tools" (nuestras herramientas), según Phoronix. El medio supone que eran herramientas de IA, pero no se nombra ninguna.

Finn Thain, de la comunidad que mantiene Linux funcionando en Mac con procesadores de la familia Motorola 68000, envió 33 arreglos para el driver SWIM. SWIM es el controlador de disquete de los Macintosh clásicos. Los probó en un Mac Quadra 650, un Mac LC III, un Mac Quadra 700 y un Mac IIvx.

La ventana de fusión también ha traído un driver para el mando de la Nintendo Switch 2 y vaciados de workqueue más rápidos para servidores grandes.

Qué significa esto para los desarrolladores

El driver del M4 importa sobre todo a la comunidad de Asahi Linux y a quien quiera Linux en un Mac reciente.

  • No esperes que los Mac con M4 ejecuten Linux solo con la 7.4. Los device trees de la 7.4 bastan para empezar a arrancar el kernel, según Phoronix, y la mayor parte del resto del hardware espera a kernels posteriores. Asahi Linux, el proyecto que porta Linux a Apple Silicon, alcanzó el soporte oficial del M3 apenas en septiembre, y aún enumeraba funciones que faltaban.
  • Sigue el camino hacia la rama principal. Este driver entró en el kernel oficial, no en un fork. El código que llega a la rama principal se revisa y mantiene junto con todo lo demás, lo que ayuda a las distribuciones a incluirlo.
  • Lee el commit si escribes drivers. Es un ejemplo compacto de cómo cubrir una variante de hardware con un indicador en un driver existente en lugar de uno nuevo.
  • Prueba el hardware antiguo si aún lo usas. Si conservas una máquina Linux con disquetera, la 7.4 cambia los drivers de disquete y SWIM. Pruébala con las versiones candidatas, empezando por la 7.4-rc1.
  • Espera más fallos encontrados por herramientas. KASAN encontró un arreglo y herramientas sin nombre encontraron otros. Los proyectos que mantienen drivers antiguos también deberían usar sanitizers en sus propios entornos de prueba.

Fuentes

  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)

Artículos relacionados