目录
独立(Type 1)和hosted(Type 2) hypervisors
一、概述
本博客描述了Armv8-A AArch64架构中的虚拟化支持。涵盖的主题包括第二阶段翻译(stage 2 translation)、虚拟异常和trapping。
该指南包括一些基本的虚拟化理论作为介绍,并提供了一些示例,说明hypervisor可能如何使用所描述的特性。它不涵盖特定hypervisor的操作,也不试图解释如何从头开始编写自己的hypervisor。这两个主题超出了本博客的范围。
在本博客的末尾,您可以检查您的知识。您将了解到两种hypervisor类型以及它们如何映射到Arm异常级别。您将能够解释traps的操作以及它们如何用于模拟操作。并且您将能够列出hypervisor可以生成哪些虚拟异常,并描述执行此操作的机制。
开始之前
假设您对虚拟化有基本的了解,包括什么是虚拟机(VM)以及hypervisor的角色。熟悉异常模型和内存管理中的地址转换。
二、虚拟化介绍
在这里,我们将介绍一些入门级的hypervisor和虚拟化理论。如果您已经熟悉这些概念