4 ms·
Apple don't block access to their NVMe controllers at all. They do appear to have a, well, interesting approach to spec compliance, but Linux is now entirely ca
by mjg59 6y ago
Apple don't block access to their NVMe controllers at all. They do appear to have a, well, interesting approach to spec compliance, but Linux is now entirely capable of handling the SSD on all x86 Apple hardware. In the M1 case the NVMe controller isn't exposed via PCI so the existing driver won't work, but there's already in-kernel abstraction between the actual NVMe code and the PCI interface, so adding an alternative shouldn't be a problem.
The M1 systems depend on some number of blobs, but the amount of non-free code required to boot one looks like it'll end up being less than a typical x86 system requires.
- floatboth 6y agoHeh, corellium did it by making a fake PCIe controller: https://github.com/corellium/linux-m1/commit/e501cce95dfcc65adb8c213f15efa9944899e940 https://github.com/corellium/linux-m1/commit/e501cce95dfcc65... https://github.com/corellium/linux-m1/commit/08f0fcce76579a58333016ec804b6f2d27e42296 https://github.com/corellium/linux-m1/commit/08f0fcce76579a5...
- marcan_42 5y agoWhich is never going to fly upstream :) I have a branch adding proper NVMe platform device support based on some work by Armd. It's currently blocked on some driver deps (clock/power) and I'm working on a hypervisor for reverse engineering for now, but once those do go in (other people are working on them) it should be simple to bring up properly.