麦克雷

标题: arm下通过通过kvm能跑x86架构的系统吗 [打印本页]

作者: Natashapa    时间: 2023-2-11 14:10
标题: arm下通过通过kvm能跑x86架构的系统吗
arm下通过通过kvm能跑x86架构的系统吗
作者: iugqjoqs17    时间: 2023-2-11 14:11
能。Intel和AMD对x86的虚拟化扩展与ARM对虚拟化的扩展以及硬件虚拟化的支持具有许多相似和不同之处。Intel和AMD的扩展是非常相似的,所以我们仅限比较ARM和Intel.。ARM通过一个独立的CPU模式(HYP模式)来实现对虚拟化的支持。其具有比用户模式和内核模式更高的权限。相比之下,Intel使用root和non-root模式来实现虚拟化。在ARM架构中,通过敏感指令和特殊操作让CPU核陷入HYP模式。这两种硬件架构设计的一个关键区别点在于,Intel的root模式支持与non-root模式相同的全部用户和内核模式的功能。而ARM的HYP模式则是一种完全不同的CPU模式,却具有自己的特性。

ARM和Intel都会陷入他们各自的HYP模式和root模式,但是Intel为虚拟控制模块提供了特定的硬件支持,当只使用一条指令切入或者切出root模式时,虚拟机控制块会自动保存和恢复。当guest和hypervisor之间进行切换时,该操作用于自动保存和恢复guesst状态。相比之下,ARM并不提供这样的硬件支持,任何状态的保存和恢复都需要在软件中显式地完成。这为从HYP模式中切入或者切出时保存和恢复状态提供了灵活性。例如,如果没有需要保存的额外状态,ARM陷入到HYP模式可能比Intel切换到root模式更快。

ARM和Intel在支持物理内存虚拟化方面非常类似。两者都引入了一组附加的页表,用于将IPA转换成主机物理地址。ARM受益于后见之明,在最初就将二级地址转换包含在内,而这一点在Intel第二代虚拟化硬件技术才实现。

ARM对虚拟计时器的支持并不是x86实现的翻版,直到最近引入了Intel的虚拟APIC的支持。ARM对虚拟中断的支持也并不是X86实现的翻版。在没有虚拟APIC支持的情况下,x86的虚拟机中的EOI终端需要在root模式下被捕获,而ARM对中断的虚拟化则避免了需要将CPU陷入HYP模式来完成,这一点将减少中断的开销。在x86上执行类似于计时器功能会使其陷入root模式,而在ARM中则无需陷入HYP模式。然而,在x86架构中,读取计数器并不是一个特权操作,即使计数器并不支持虚拟化,该操作也不会让CPU陷入到root模式。
作者: 己念    时间: 2023-2-11 14:12
是的,ARM架构可以通过KVM虚拟化技术跑x86架构的操作系统。ARM架构的处理器具有虚拟化支持,可以使用KVM虚拟机管理系统,虚拟出x86架构的操作系统。
作者: carpinteyrocow    时间: 2023-2-11 14:13
不能,
因为mac是arm架构,开发的虚拟机软件pd也是arm架构,那么是不是运行的win也只能是arm架构?这样的话x86架构的win专属软件、小众的win软件,steam上win平台专属游戏等等,以前都是围绕x86开发的,是否就不能在arm架构的win中运行了?




欢迎光临 麦克雷 (http://imac.ly/) Powered by Discuz! X3.5