minos 4.6 中断虚拟化——虚拟中断子系统
首发微信公号:Rand_cs Hypervisor 需要对每个虚机的虚拟中断进行管理,这其中涉及的一系列数据结构和操作就是虚拟中断子系统 VIRQ 虚拟中断描述符 struct vcpu { uint32_t vcpu_id; ........... /* * member to record the irq list which the * vcp...

minos 2.5 中断虚拟化——vGIC
首发微信公号:Rand_cs 这一节开始讲述真正的中断虚拟化,首先来看硬件方面的虚拟化。前文 minos 2.3 中断虚拟化——GICv2 管理 主要讲述 GICv2 的 Distributor 和 CPU Interface,在 Hypervisor 存在的情况下,它们都是为 Hypervisor 服务的。现在有了 vm,vm 里面的内核也需要操作 GIC,怎么办?我们模拟一个 GIC 设...

minos 2.4 中断虚拟化——中断子系统
首发微信公号:Rand_cs 前面讲述了 minos 对 GICv2 的一些配置和管理,这一节再往上走一走,看看 minos 的中断子系统 中断 中断描述符 /* * if a irq is handled by minos, then need to register * the irq handler otherwise it will retu...
minos 2.3 中断虚拟化——GICv2 管理
首发微信公号:Ranc_cs 硬件肯定需要软件配合,这一节就来实战 GICv2 首先准备好 GICv2 手册:https://developer.arm.com/documentation/ihi0048/bb/?lang=en,对于硬件的管理,最底层的操作就是读写硬件的寄存器,所以这里准备好手册,随时查阅手册 // gicv2.c static void *gicv2_dbase;...

minos 2.2 中断虚拟化——异常处理流程
首发微信公号:Rand_cs 上一节讲述了 ARMv8 异常模型,很多理论,这一节来看一个实际的例子,来看看 minos 中的异常处理流程 异常向量表 直接来看 minos 的异常向量表,很多事情就明了了: elx_vectors: c0sync: // Current EL with SP0 BAD_MODE VECTOR_C0_SYNC .balign 0x...

minos 2.1 中断虚拟化——ARMv8 异常处理
首发微信公号:Rand_cs 越往后,交叉的越多,大多都绕不开 ARMv8 的异常处理,所以必须得先了解了解 ARMv8 的异常处理流程 先说一下术语,从手册中的用词来看,在 x86 平台,一般将异常和中断统称为中断,在 ARM 平台,一般将中断和异常统称为异常 异常的流程,可以分为 3 个阶段,“设备”产生异常信号,中断控制器过滤转发异常,OS 处理异常。设备产生异常的部分我们不讨论,...

minos 1.2 内存虚拟化——guest
首发微信公号:Rand_cs minos 1.2 内存虚拟化——guest 项目来自乐敏大佬:https://github.com/minosproject/minos 本文继续讲述 minos 中的内存虚拟化中关于 guest 的部分,主要弄清楚一个问题,minos 如何管理 guest vm 的内存。 对于虚拟机的内存管理主要是 ipa 的管理,ipa 如何映射到 pa,...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。