开源虚拟化ACNR

OverView

The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on the bare-metal hardware, and is suitable for a variety of IoT and embedded device solutions. The ACRN hypervisor addresses the gap that currently exists between datacenter hypervisors, and hard partitioning hypervisors. The ACRN hypervisor architecture partitions the system into different functional domains, with carefully selected guest OS sharing optimizations for IoT and embedded devices.

开源网站

github:

GitHub - projectacrn/acrn-hypervisor: Project ACRN hypervisor

gitee:

ACRN: ACRN 是 Linux 基金会发布的开源项目,这是一个专为物联网和嵌入式设备设计的管理程序 (gitee.com)

acrn官网:

Home - Project ACRN™

ACRN Hypervisor: Modular Design — Project ACRN™ 3.2-unstable documentation

zircon内核:

GitHub - ganyao114/zircon: Zircon Kernel 文档以及源码注释

ACRN架构

开源虚拟化ACNR_第1张图片

ARM架构hypervisor常用寄存器说明

ESR_EL2(Exception Syndrome Register EL2):用于在 EL2(hypervisor)级别捕获异常的信息。当在 EL2 级别发生异常时,异常的原因和相关信息将被保存在 ESR_EL2 寄存器中,供虚拟机监视器处理。该寄存器中包含了异常类型、异常来源、异常的详细信息等等。

HPFAR_EL2(Hypervisor IPA Fault Address Register EL2):用于记录虚拟地址空间中发生失效的地址。当在 EL2 级别发生虚拟地址无效(Translation fault)时,HPFAR_EL2 寄存器将保存发生失效的虚拟地址,以便虚拟机监视器处理(外围设备模拟)。

HCR_EL2(Hypervisor Configuration Register EL2):是一个控制寄存器,用于配置处理器在 EL2 级别的行为。它包含了各种虚拟化相关的配置选项,如虚拟化使能、虚拟中断使能、虚拟定时器使能等等。通过配置 HCR_EL2 寄存器,可以控制处理器在 EL2 级别的虚拟化行为(如VCPU调度)

SCR_EL3(Secure Configuration Register EL3):用于控制安全状态下的虚拟化功能。

SCTLR_EL2(System Control Register EL2):控制EL2级别的系统控制行为,例如虚拟化相关的使能。

CPACR_EL1(Architectural Feature Access Control Register EL1):用于控制 EL1 级别的协处理器访问权限,可能用于控制虚拟机中的浮点运算等。

TPIDR_EL2(EL2 Thread Pointer Register):保存当前线程的线程指针,用于在 EL2 级别的虚拟化环境中管理线程信息。

VBAR_EL2(Virtualization Vector Base Address Register EL2):指定 EL2 级别的异常向量表的基地址,用于处理虚拟化环境中的异常。

TCR_EL2(Translation Control Register EL2):用于配置 EL2 级别的内存转换行为,包括页表设置等。

TTBR0_EL2(Translation Table Base Register 0 EL2)和 TTBR1_EL2(Translation Table Base Register 1 EL2):用于指定 EL2 级别的页表基地址,支持内存转换。

VMPIDR_EL2(Virtualization Multiprocessor ID Register EL2):指定虚拟机监视器所处的处理器ID,用于虚拟机监视器管理多处理器环境。

VTCR_EL2(Virtualization Translation Control Register EL2):配置虚拟化环境中的内存转换行为,类似于TCR_EL2,但是专门用于虚拟化环境。

ICC_SRE_EL2(System Registers Secure Execution Register EL2):控制安全状态下的中断控制器的使能。

VTTBR_EL2(Virtualization Translation Table Base Register EL2):用于指定在 EL2 级别的虚拟地址转换表的基地址。虚拟机监视器使用该寄存器来配置和管理虚拟机的内存地址转换。

CONTEXTIDR_EL2(Context ID Register EL2):用于在 EL2 级别设置当前上下文的标识符。在虚拟化环境中,虚拟机监视器可以使用该寄存器来管理虚拟机的上下文切换。

CNTHCTL_EL2(Counter-timer Hypervisor Control Register EL2):用于控制处理器中的计时器和性能计数器的行为。虚拟机监视器可以使用该寄存器来配置和管理虚拟机中的计时器和性能计数器。

VDISR_EL2(Virtualization Direct Interrupt Status Register EL2):用于指示在 EL2 级别的虚拟直通中断的状态。虚拟机监视器可以使用该寄存器来处理虚拟机中的直通设备产生的中断。

你可能感兴趣的:(hypervisor,虚拟化)