1

“softmmu”是否意味着虚拟机具有可用于机器和用户模式的单个线性地址空间?或者它是否具有一些通过软件而不是底层处理器实现的虚拟内存功能?或者也许它意味着完全不同的东西?

4

1 回答 1

6

-softmmu 作为 QEMU 目标名称的后缀,表示“完整的系统仿真,包括仿真 MMU,用于运行整个客户操作系统或裸机程序”。它与 QEMU 的 -linux-user 模式相反,这意味着“仅模拟单个 Linux 二进制文件,将它发出的系统调用转换为主机上的系统调用”。构建 foo-softmmu 目标会给你一个 qemu-system-foo 可执行文件;构建 foo-linux-user 会给你一个 qemu-foo 可执行文件。

因此,由 -softmmu 模拟的 CPU 应该提供真实客户 CPU 的硬件 MMU 提供的所有设施,这通常意味着可以通过客户代码设置页表并启用 MMU 来配置多个地址空间。

于 2019-08-07T10:44:50.680 回答