当前位置:网站首页>[QNX Hypervisor 2.2用户手册]5.6.1 Guest关机时静默设备
[QNX Hypervisor 2.2用户手册]5.6.1 Guest关机时静默设备
2022-06-23 08:24:00 【高桐@BILL】
当一个guest关机时,无论是受控的还是不可控的关机,qvm进程都应该去尝试静默那些Guest使用的物理设备。这样可以确保Guest驱动不再写入物理内存,以避免由此导致的非预期行为甚至损害硬件。
当一个Guest关机,因此它的驱动将会消失,不能期望Host硬件保持相同的状态,因为这些设备可能会异步运行(例如,正在DMA写入,产生中断等)。为了保护硬件完整性,当Guest终止时,qvm进程的设计中会将这些设备进行静默(简而言之就是休眠这些设备)。
为了遵循这种设计,qvm进程可以包含一个vdev,它可以静默设备,也可以配置这个设备,以便于在qvm进程终止时可以运行它的回调函数,然后释放驱动程序的资源。回调函数必须执行必要的清理工作,包括静默设备。这需要尽快关闭设备,以便当 qvm 进程消失时,设备不再执行下面的操作:
- 写入物理内存(非常危险的操作)
- 产生中断(这个倒不严重,因为hypervisor可以识别这个IRQ并忽略它)
有关创建客制化vdev的更多信息,参考Virtual Device Developer's Guide。更多关于在进程关机时定义一个注册了回调函数的vdev的控制函数参考“Handling a qvm termination”。
注意!
Guest可以尝试静默一个设备。但是hypervisor不能依赖Guest来执行设备休眠的操作。当运行的QNX Hypervisor是Safety变种,你必须提供一个vdev来在关机时静默物理设备。对于非安全的QNX Hypervisor变种,同样建议这么做,但不做要求。
边栏推荐
- (resolved) difference between leftmost prefix and overlay index
- After easynvr video is enabled, no video file is generated. How to solve this problem?
- Qualcomm 9x07 two startup modes
- Jetpack family - ViewModel
- Install a WGet for your win10
- 1-渐变、阴影和文本
- Spirit matrix for leetcode topic analysis
- Map接口及其子实现类
- 渲染效果图哪家好?2022最新实测(四)
- C # advanced learning -- virtual method
猜你喜欢

6月《中国数据库行业分析报告》发布!智能风起,列存更生

Deep learning ----- different methods to realize vgg16

Qualcomm 9x07 two startup modes

点云库pcl从入门到精通 第十章

Linux Mysql安装

typeScript的介绍与变量定义的基本类型

The rtsp/onvif protocol video platform easynvr startup service reports an error "service not found". How to solve it?

Structure and usage of transform

Why do we say that the data service API is the standard configuration of the data midrange?

Vulnhub | DC: 4 |【實戰】
随机推荐
Moodle e-learning platform fixes the session hijacking error that leads to pre authorized rce
USB peripheral driver - configfs
What is a dedicated server line
如何评价代码质量
数据资产为王,解析企业数字化转型与数据资产管理的关系
Idea true permanent activation method and permanent activation code tutorial
List接口三个子实现类
MySQL common skills
Deep learning ----- convolution (conv2d) bottom layer
How to solve the problem that flv video stream cannot be played and TS file generation fails due to packet loss?
Lightweight UI control library worth collecting
TDesign update weekly report (the first week of January 2022)
Arclayoutview: implementation of an arc layout
Integers and operators in go data types (3)
Azure Active Directory brute force attack
Leetcode topic analysis set matrix zeroes
Use of tensorboard
XSS via host header
2-用线段构成图形、坐标转换
3-progressbar and secondary cropping