虚拟化
文章平均质量分 94
赵不胖
码农胖纸
展开
-
AArch64虚拟化
本指南介绍Armv8-A AArch64中的虚拟化支持。所涵盖的主题包括stage 2 translation, virtual exceptions和trapping。本指南介绍了一些基本的虚拟化理论,并举例说明了hypervisor如何使用其所描述的功能。它没有涵盖特定hypervisor的操作,也没有试图解释如何从头开始编写自己的hypervisor。阅读本文,您将了解这两种类型的hypervisor,以及它们如何映射到Arm Exception级别。原创 2023-12-14 14:03:48 · 342 阅读 · 0 评论 -
Xen-hypervisor的Emulating Memory-mapped Input/Output (MMIO)实现
对于type1的hypervisor(例如xen),虚拟机是如何访问IO的?下面分成原理部分和实现部分阐述。原创 2023-09-19 18:01:11 · 440 阅读 · 0 评论 -
Arm Generic Interrupt Controller v3 and v4 - Virtualization
本指南介绍了GICv3和GICv4体系结构中对虚拟化的支持。它涵盖了hypervisor可用于生成和管理虚拟中断的控件。本指南适用于需要了解中断控制器功能或需要编写软件来管理虚拟中断。本指南介绍了GICv3.x和GICv4.1中的功能。它不包括GICv4.0,只是作为一个介绍。原创 2023-05-24 21:23:11 · 1410 阅读 · 0 评论 -
Virtual Interrupt Handling and Prioritization
在EL2处执行的hypervisor的控制下在EL1处执行的操作系统有时被称为。虚拟机可以支持多处理,这意味着由hypervisor调度的多个**虚拟PE(vPE)**正在一个或多个物理PE上执行。当vPE在PE上执行时,虚拟机的vPE被称为在物理PE上调度。在Armv8和Armv9中,当EL2被实现和启用时,CPU interface提供了将中断路由到VM的hypervisor开销最小化的机制。在GICv4中,对于直接注入的虚拟LPI,调度的vPE由GICR_VPENDBASE确定。原创 2023-04-16 19:34:03 · 514 阅读 · 0 评论 -
AArch64 virtualization之exceptions
中断被系统中的硬件用来向软件发送事件信号。例如,GPU可能会发送一个中断,以发出它已经完成渲染帧的信号。使用虚拟化的系统更为复杂。有些中断可能由hypervisor本身处理。其他中断可能来自分配给虚拟机(VM)的设备,并且需要由该VM内的软件处理。此外,被中断作为目标的VM在接收到中断时可能没有运行。这意味着您需要一些机制来支持hypervisor对EL2中某些中断的处理。您还需要将其他中断转发到特定VM或VM中的特定虚拟CPU(vCPU)的机制。原创 2023-04-16 21:22:54 · 294 阅读 · 0 评论