
KVM
文章平均质量分 60
若龙在渊
这个作者很懒,什么都没留下…
展开
-
KVM(ARM) 内存虚拟化(1)
理解KVM ARM内存虚拟化的关键点:1、ARM虚拟化的基本概念2、KVM实现内存虚拟化的关键点(1) QEMU定义了VM的内存地址空间,同时VM的内存地址空间(IPA)和QEMU自己的进程虚拟地址空间建立了一一映射(IPA-HVA)(2)QEMU会将IPA和HVA的映射关系通过系统调用设置到KVM中并保存(KVM_SET_MEMORY_REGION)(3)当VM访问自己的内存时,会进行2级页表返回,VM的Linux自己完成stage-1的地址翻译,但是当进行stage-2的地址翻译时发生了da原创 2020-10-18 10:44:13 · 1233 阅读 · 0 评论 -
KVM(ARM) CPU虚拟化 (1)
ARM CPU虚拟化的关键技术点:CPU支持多个特权等级,这样才可以比较好的对于敏感特权指令进行在高优先级受控, ARM支持EL0~EL3,其中虚拟化(Hypervisor运行在EL2,OS Kernel运行在EL1,用户态运行在EL0)VM执行敏感指令/操作受控 - 在更高级别的特权级受控执行,避免对别的VM产生影响每个VM的每个vCPU运行在物理CPU上时进行context switch,即将之前运行的(host或者其他vCPU)各种相关寄存器保存到内存中,需要运行的vCPU必须的寄存器恢复到硬原创 2020-10-18 10:31:15 · 2091 阅读 · 0 评论 -
KVM- Guest Enter & Guest Exit
Linux 4.14实现:KVM Guest Exit 实现原理:进入Guest OS之前保存Host的调用__guest_enter时的context以便Guest退出时返回该调用点继续支持Guest退出Trap到EL2时,则会借用__guest_exit返回enter时的调用点继续执行例如:Guest OS访问GICD Trap时,el1_sync -》ENTRY(__kvm_hyp_vector) ventry el2t_sync_invalid // Synchronous EL2原创 2020-06-14 10:01:10 · 1136 阅读 · 1 评论