Armv8-A 虚拟化 参考文献:Armv8-A virtualization.pdf Arm中,常使用的虚拟机监视器有Xen(type1)和KVM(type2)。 全虚拟化和半虚拟化 全虚拟化是指一般的虚拟机,它可以完全模拟物理机器。但性能差,每次对寄存器的操作都得经过监视器。 半虚拟化是为了提升性能的,如Guest OS,它好像运行在一个虚拟硬件平台上。
访问外设有两种情况:1)直通访问真实的外设;2)触发fault,Hypervisor通过软件来模拟; VTTBR_EL2:Virtualization Translation Table Base Register,虚拟转换表基地址寄存器,存放Stage 2转换的页表; 为了模拟外设,Hypervisor需要知道访问的是哪个外设以及访问的寄存器,读访问还是写访问,访问长度是多少,使用哪些寄存器来传送数据等...
Virtual Interrupts 虚拟中断作用: 运行在EL2的软件可以通过虚拟中断产生物理中断与运行在EL0和EL1上的软件通信。 物理中断产生时,运行在EL1的处理程序根据设置进行处理或直接路由给虚拟机操作系统进行处理: 如果目标虚拟机正在运行,则直接触发一个对应的虚拟中断给目标操作系统 吐过目标虚拟机没有运行,则将物理中断标...
在Non-security状态下,只能访问Non-secure physical address space,且不能访问Secure system control resources。 virtualization 硬件虚拟化包括指令集虚拟化、异常处理虚拟化、MMU虚拟化、IO虚拟化等。 参考: ARMv8_white_paper_v5.pdf Fundamentals of ARMv8-A.pdf 附:TEEOS与EL之间的关系如下下图:...
为了解决这个问题,虚拟化主机扩展 (Virtualization Host Extensions, VHE)应运而生。该特性由Armv8.1-A引入,可以让寄主操作系统的内核部分直接运行在EL2上。将主机操作系统运行在EL2 VHE由系统寄存器HCR_EL2中的两个比特位控制 E2H:VHE使能位 TGE:当VHE使能时,控制EL0是Guest还是Host | ? ? ? ? Running in...
这个阶段2转换表的基址在虚拟化转换表基寄存器(Virtualization Translation Table Base Register,VTTBR0_EL2)中指定。它在内存底部指定一个单独的连续地址空间。虚拟化转换控制寄存器,VTCR_EL2的TSZ[5:0]字段中指定支持的地址空间大小。 该寄存器的TG字段指定颗粒大小,而SL0字段控制第1级表查找。任何超出定义地址范...
“must have” status AArch64 State Fundamentals New instruction set (A64) Revised exception handling for exceptions in AArch64 state Fewer banked registers and modes Support for all the same architectural capabilities as in ARMv7 TrustZone Virtualization Memory ...
Features: • CSI Virtual Channel (VC) supports four VCs per CSI x4 brick • SMMU ID support for guest OS virtualization • Local Tone Map • Bayer Histogram statistics for auto-exposure • Bayer average map for auto white balance and auto-exposure • Sharpness map for auto focus ...
ARMv8_Architecture
ARMv8_Architecture