当前位置:网站首页>[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中的一个应用程序想要
边栏推荐
猜你喜欢

JVM系列之对象的创建

Introduction to polyfit software

Upgrade the smart switch, how much is the difference between the "zero fire version" and "single fire" wiring methods?
关于判断点是否位于轮廓内的一点思考
Some thoughts on whether the judgment point is located in the contour

在线文本行固定长度填充工具

FPGA时序约束分享01_四大步骤简述

How to use async Awati asynchronous task processing instead of backgroundworker?

PolyFit软件介绍

【问题】druid报异常sql injection violation, part alway true condition not allow 解决方案
随机推荐
1007 Maximum Subsequence Sum(25 分)(PAT甲级)
BCG 使用之CBCGPProgressDlgCtrl進度條使用
Shell programming core technology II
kotlin 条件控制
“只跑一趟”,小区装维任务主动推荐探索
安徽 中安在线文旅频道推出“跟着小编游安徽”系列融媒体产品
1002. A+B for Polynomials (25)(PAT甲级)
The 300th weekly match of leetcode (20220703)
Some thoughts on whether the judgment point is located in the contour
牛客小白月赛7 F题
In flinksql, in addition to data statistics, is the saved data itself a state
Shell 編程核心技術《四》
FTP, SFTP file transfer
Comment utiliser async awati asynchrone Task Handling au lieu de backgroundworker?
Educational Codeforces Round 22 E. Army Creation
1005 Spell It Right(20 分)(PAT甲级)
Shell 编程核心技术《三》
反射(一)
1008 Elevator(20 分)(PAT甲级)
prometheus安装