Post

The forgetful CPU: bringing Linux up on Apple’s M4

An Asahi contributor’s bring-up report shows how an undocumented M4 CPU quirk turned WFI/WFIT into state loss—and how Linux now has a mainline boot option to avoid those instructions on affected systems.

The debugging also uncovered practical early-boot issues: m1n1 needed to skip writes to registers already set correctly, and Linux needed an identity mapping for the UART’s MMIO region to keep early serial output working after the MMU came on. Replacing WFI with NOPs enabled multi-core boot; the eventual configurable idle workaround has landed in Linux and m1n1. Peripheral support remains early, but the fix also works on M4 Pro/Max and M5 according to the author.

The Hacker News discussion mostly veered into Apple’s closed hardware strategy rather than challenging the technical account.