当前位置:网站首页>[QNX Hypervisor 2.2用户手册]6.3.1 工厂页和控制页

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

2022-07-04 18:32:00 高桐@BILL

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中的一个应用程序想要

原网站

版权声明
本文为[高桐@BILL]所创,转载请带上原文链接,感谢
https://bill-huang.blog.csdn.net/article/details/125592620