Hacker News new | ask | show | jobs
by dji4321234 728 days ago
The IOMMU on Apple Silicon only supports 16K pages. The page allocator on Linux only supports unified page sizes. Ergo, to make both IOMMU mappings and userland software work, everything needs to have 16K pages (on OSX, this isn't an issue, because XNU supports mapping both 4k and 16k pages).

It's not really non-standard so much as it is new-standard or different-standard. Aarch64 officially supports 4K, 16K, and 64K pages. This flexibility in the aarch64 ABI means that most compilers already produce 64K aligned load segments for aarch64, so it's not a huge deal except for software that works at a low level and makes assumptions about mmap (for example).

The main software that's truly affected beyond just needing recompilation or tweaks is x86/x86-64 emulation software, since x86 is pretty tightly coupled to 4k pages.