虚拟化
文章平均质量分 71
linux解码者
熟悉linux存储相关。日拱一卒
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ARM64内存虚拟化分析(8)coalesed MMIO处理
coalesced MMIO处理原创 2022-12-30 08:33:45 · 1747 阅读 · 0 评论 -
ARM64内存虚拟化分析(7)stage2异常处理
stage2异常处理原创 2022-12-30 08:24:54 · 2870 阅读 · 1 评论 -
ARM64内存虚拟化分析(6)向KVM注册内存更新
往KVM注册内存更新原创 2022-12-30 08:11:17 · 1132 阅读 · 0 评论 -
ARM64内存虚拟化分析(5)内存布局更新
MR的添加和提交原创 2022-12-29 17:20:43 · 1072 阅读 · 0 评论 -
ARM64内存虚拟化分析(4)MR的创建
MMIO MR和RAM MR的创建原创 2022-12-29 17:16:09 · 439 阅读 · 0 评论 -
ARM64内存虚拟化分析(3)MR API介绍
QEMU中MR API介绍原创 2022-12-29 17:10:45 · 687 阅读 · 0 评论 -
ARM64内存虚拟化分析(2)常用结构体
内存虚拟化相关结构体原创 2022-12-29 17:06:40 · 1149 阅读 · 0 评论 -
ARM64内存虚拟化分析(1)基础知识
arm64内存虚拟化相关的基础知识原创 2022-12-29 16:59:25 · 2434 阅读 · 0 评论 -
ARM64内存虚拟化分析(0)概述
arm64内存虚拟化原创 2022-12-29 16:44:32 · 1114 阅读 · 0 评论 -
Armv8-A虚拟化手册(7)
10 安全虚拟化虚拟化由Armv7-A引入。在那个时候,hypervisor mode等于AArch32上EL2,只在非安全状态有效。当Armv8.4-A引入时,EL2上的安全状态的支持被当可选的特性增加。当处理器支持安全EL2时,处理器需要使用SCR_EL3.EEL2位来使能。设置这个位将使项进入EL2,并使能在安全状态下的虚拟化特性的使用。在安全虚拟化有效前,EL3通常被用来控制软件和平台firmware之间安全状态的切换。这是因为我们想最小化...原创 2022-01-26 22:18:25 · 1511 阅读 · 0 评论 -
Armv8-A虚拟化手册(6)
9 Nested虚拟化理论上,hypervisor可以运行在虚拟机上。这个概念可称为Nested虚拟化。我们把第一个hypervisor称为host hypervisor,在虚拟机中的hypervisor称为guest hypervisor。在Armv8.3-A之前,通过将guest hypervisor运行在EL0可将guest hypervisor运行在虚拟机上,这需要明显大量的软件模拟,既难以实现又可能导致性能差。随着本特性在Armv8....原创 2022-01-25 08:17:19 · 1005 阅读 · 0 评论 -
Armv8-A虚拟化手册(5)
8. VHE下图呈现了一个简化的软件栈和异常级别:你可以看到一个独立的hypervisor是如何映射到ARM异常级别。hypervisor运行在EL2而虚拟机运行在EL0/1。这种情况在托管hypervisor上存在问题,如下图所示:通常,内核运行在EL1,但虚拟控制在EL2。这意味着大多数host OS运行在EL1,通过EL2的stub代码来访问虚拟化控制。这种安排效率低下,因为它可能涉及增加的上下文切换。内核需要处理...原创 2022-01-24 22:51:22 · 2807 阅读 · 0 评论 -
Armv8-A虚拟化手册(4)
7. 通用定时器的虚拟化ARM架构包括通用定时器,它是每个处理器里一组标准有用的定时器。通用定时器包含一组与通用系统计数器相比较的比较器。当该值等于或小于系统计算器时,比较器产生一个中断。在下图中,我们可以看到系统中的通用定时器,它包含比较器和计数器模块。上图描述了一个hypervisor管理两个虚拟CPU(vCPU)的系统:note: 在这个例子中,我们忽略了执行hypervisor在vCPU之间进行上下文切换的过度。在4ms的物理时...原创 2022-01-23 20:26:36 · 1035 阅读 · 0 评论 -
Armv8-A虚拟化手册(3)
6. 虚拟化异常在系统中中断被硬件用于发送事件给软件。比如,GPU可能发送中断通知它完成了渲染帧。使用虚拟化的系统更复杂。一些中断可能由hypervisor自己处理。其他中断可能来自分配了虚拟机的设备,并且需要由虚拟机中的软件来处理。中断目标的虚拟机也可能在中断被接受时没有运行。这意味着你需要机制来支持hypervisor来处理EL2中的一些中断的处理。同时也需要机制在虚拟机中将一些中断发给某些虚拟机或某些VCPU。为了使能这些...原创 2022-01-22 19:00:00 · 982 阅读 · 0 评论 -
Armv8-A虚拟化手册(2)
4. Stage2转换4.1 什么是stage2转换Stage2转换允许一个hypervisor控制虚拟机中内存视图。特别的,它允许hypervisor控制一个虚拟机可以访问哪个内存映射的系统资源,这些资源呈现在虚拟机中的地址空间的哪里。控制内存访问的能力对隔离和基础服务很重要。可以使用stage2转换来保证虚拟机可以看到分配给它的资源,而不是分配给其他虚拟机或hypervisor的资源。对于内存地址转换,stage2转换是转换的第二阶段。为了...原创 2022-01-21 21:34:55 · 4105 阅读 · 0 评论 -
Armv8-A虚拟化手册(1)
1. Overview本指导描述ARMv8-A AArch64的虚拟化支持。所覆盖的内容包括stage2转换,虚拟化异常和trapping。本文档包括一些基本的虚拟化理论作为introduction,并给出hypervisor使用这些特性的例子。它不包括一些特定hypervisor的操作,或试图解释从零开始如何写自己的hypervisor。这两项都不在本指导范围内。在知道的结尾,你可以检查相关知识。你将学习到两种类型的hypervisor,以及它们...原创 2022-01-20 21:57:38 · 2224 阅读 · 0 评论
分享