[QNX Hypervisor 2.2用户手册]6.3.1 工厂页和控制页

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[QNX Hypervisor 2.2用户手册]6.3.1 工厂页和控制页相关的知识,希望对你有一定的参考价值。

QNX Hypervisor的共享内存通过使用工厂页和控制页(Factory pages and Control Pages)实现。

工厂和控制页保存着shmem虚拟设备的虚拟机寄存器(参考“Virtual registers (guest_shm.h)”)。Guest中的驱动可以访问guest-physical内存中的这些寄存器,并与之交互,就像是在和物理寄存器交互一样,以指定的偏移量进行读写。

工厂和控制页的页大小与QNX Hypervisor 内核页相同(4KB)。

一、工厂页

因为qvm进程会为vm创建一个工厂页,则需要在托管Guest的VM的qvm配置中包含shmem虚拟设备。典型地,每个qvm配置文件中仅包含一个shmem虚拟设备,因此每个VM只有一个工厂页。

一个工厂页包含共享内存的信息,其中包括一个存有每个共享内存区域的控制页guest-physical地址的区域。且该区域的值会在Guest创建或附加(attach)不同的共享内存区域的时候发生改变。

一个工厂页可能位于Guest可访问的未分配内存的任何位置。例如,假设还未分配其他内存,如果我们分配192MB的内存(在qvm配置中设置了ram 192M),我们可以将工厂页放在此分配之外位于at 0x10000000 (256 MB)。这个地址时guest-physical地址,并不是硬件中的实际物理地址。shmem 虚拟设备会为VM虚拟化工厂页。且不会有其他设备会使用这个位置。

当Guest中的一个应用程序想要

以上是关于[QNX Hypervisor 2.2用户手册]6.3.1 工厂页和控制页的主要内容,如果未能解决你的问题,请参考以下文章

[QNX Hypervisor 2.2用户手册]6.2.1 Guest之间通信

[QNX Hypervisor 2.2用户手册]6.2 网络

[QNX Hypervisor 2.2用户手册]6.3.2 配置VM

[QNX Hypervisor 2.2用户手册]4.6.1 配置HHBSP框架的构建

[QNX Hypervisor 2.2用户手册]4.6.1 配置HHBSP框架的构建

[QNX Hypervisor 2.2用户手册]6.2.1 Guest之间通信