显然,QEMU 是唯一能在新的 Apple silicon(M1、M2 等)上模拟 x86 操作系统的开源代码。
Apple 构建了 Rosetta 2,在理论上,它做的与 QEMU 在这些情况下所做的完全相同。它将 x86(英特尔)指令转换为新的 Apple silicon 处理器所支持的指令集。
Rosetta 2 表现出了卓越的性能,甚至有些 x86 应用程序在本机 x86 硬件上运行时性能更好。另一方面,当在 Apple Silicon 上运行 x86 Linux 时,QEMU 却并不接近。
那么 Rosetta 如何有如此优异的性能呢?是否有仅 Apple 知道的关于他们体系结构的“秘密”,从未分享给 QEMU 项目?QEMU 不允许访问任何被禁止的 API 吗?