虚拟化
文章平均质量分 80
杨枫_mind
这个作者很懒,什么都没留下…
展开
-
__kvm_hyp_vector如何成为最终的EL2异常向量表
对于无VHE的情况 1. kvm_get_hyp_vector会给出__kvm_hyp_vector(A12/17/15似乎有不同的处理) 2. kvm_arch_hardware_enable->_kvm_arch_hardware_enable->cpu_hyp_reinit->cpu_init_hyp_mode-> __cpu_init_hyp_mode->kvm_call_hyp(pgd, stack, vector) 需...原创 2022-05-28 23:57:54 · 619 阅读 · 0 评论 -
Qemu class和instance(存在其他更优秀的文档解释此命题,请自行搜索)
1. Qemu的type_init是在constructor属性中执行的,也就是在main之前,也就是所有type_init的设备都会在main之前执行其type_register_static;2. type_register_static会malloc TypeImpl数据结构,存放class_init/instance_init等回调函数和class_size/instance_size; 需要重点说下class_size:这是所注册设备Class数据结构的sizeof,比如 ...原创 2022-05-28 23:54:21 · 491 阅读 · 0 评论 -
对比线程,一个VCPU是什么
1. VCPU是线程不?2. VCPU的线程是在用户态创建还是在KVM创建?3. 进入Guest代码的点?4. 退出Guest代码的点?5. VCPU的调度与用户线程的调度有何不同?7. 那么EL1的特殊寄存器集合是如何在每次context切换中保存/恢复的:原创 2022-05-28 23:59:47 · 1415 阅读 · 1 评论 -
利用上虚拟化,说一下TLB,以及VHE
arm给出了基于虚拟化技术会产生的优势:1. 隔离: 虚拟化的核心是在单个物理系统上运行的虚拟机之间提供隔离。这种隔离允许在互不信任的计算环境之间共享物理系统。例如,两个竞争对手可以共享一个数据中心中的同一台物理计算机,而不必访问彼此的数据。2. 高可用性: 虚拟化允许在物理计算机之间无缝,透明地迁移工作负载。此技术通常用于将工作负载从可能需要维护和更换的故障硬件平台上迁移出去。...原创 2020-01-15 14:24:13 · 2706 阅读 · 4 评论 -
Hypervisor这个层次对TLB的使用与EL0/1比有限制吗
我在利用虚拟化这篇文章中出现了一个错误,这是一个不起眼,但是细思恐极,再细思安心的错误,我有这样一句话:对于在EL2中,这条尤其重要,很多cortex都会有IPA-PA相对于VA-PA的缩水,所以EL2中的代码要怎么做也是需要思考的问题。当然,现在我已经在这段话后面添加了一些解释,表述了自己的错误,我之前想当然的认为了:1阶段页表的虚拟地址是VA,对应EL1/0所用的地址,2阶段页表的...原创 2020-03-27 10:02:20 · 705 阅读 · 0 评论 -
linux外设虚拟化的几个概念
VFIO(Virtual Function I/O)这是一个设备直通的方案,与Xen中的passthrough概念是一致的;主要是基于IOMMU和中断重映射,将制定的一个或几个设备安全的分配给某一个虚拟机使用,注意,是分配给单个虚拟机使用,它是在硬件支持的情况下解决单个设备多个虚拟机的问题。它是通过在硬件支持虚拟化如SR-IOV等特性的时候,将SR-IOV虚拟化出的物理设备实例直接映射给虚拟机...原创 2020-02-28 15:07:03 · 1326 阅读 · 0 评论