HVM下的两种模式-用户模式与访客模式
来源:互联网 发布:it团队口号 知乎 编辑:程序博客网 时间:2024/04/19 15:02
概述
在虚拟器中,HVM支持两种级别的虚拟器:
HVM用户模式
HVM访客模式
本文将分别介绍两种模式下的管理与资源
HVM的用户模式
概述
除了如下的限制,HVM用户模式与Hexagon 程序员开发手册中的权限架构没有任何差异。
限制
HVM用户模式中,存在着内存地址的限制
VMM保留了用户模式下的高16MB地址用于VMM的使用(地址0xff00_0000 to 0xffff_ffff)
HVM用户对这一范围的操作,如store、load或执行这一区域的指令都会导致保护系统限制事件。
标注:这一限制同样适用于访客模式下的内存空间
HVM的访客模式
概述
HVM访客模式是HVM用户模式的一个超集
除了用户模式下所支持的标准Hexagon处理器架构,访客模式定义了虚拟指令以及虚拟事件从而在HVM上支持受保护的、多用户多任务操作系统。
虚拟指令是Hexagon指令集的延伸,它能调用HVM中无法被Hexagon处理器实现的HVM指令。
虚拟事件在用户模式与访客模式下是异步的-他们为HVM模式提供了一种可控的方式。虚拟事件可以通过异常或中断来触发。
标注:HVM虚拟指令执行时与常规处理器指令没有差别, 只不过他们通常被认为是HVM模式之间单一的指令,无法被打包至指令包中。
附录中提供了虚拟指令的编码以及语义
访客模式的功能
HVM下的访客模式有如下的功能:
事件处理
中断
异常
缓存控制
内存管理
处理器资源管理
访客模式下的事件处理
HVM可将控件异步传输从而处理事件:
句柄向量必须通过授权虚拟指令vmsetvec来进行注册
事件处理需要通过虚拟指令vmrte来进行终结
HVM模式下的中断
HVM支持将Hexagon中断作为特殊的异步事件进行调用
中断可被独立的屏蔽
中断可被整体性的使能或失能
中断通过虚拟指令vmintop,vmsetie以及vmgetie进行管理
HVM模式下的异常
HVM支持Hexagon异常作为其他类型的时间
与中断不同,异常是不可屏蔽的
HVM模式下的缓存控制
HVM支持Hexagon的缓存控制操作:
授权操作(只用于访客模式下)
使用虚拟指令vmcache进行管理
HVM模式下的内存管理
HVM可实现一个虚拟内存管理单元:
授权指令(只用于访客模式下)
自主页表
标准HVM格式下的页表
使用虚拟指令vmnewmap以及vmclrmap进行管理
HVM模式下的资源管理
HVM支持虚拟处理器以及细粒度的定时器
授权操作(只用于访客模式下)
创建并销毁并行运行的虚拟处理器实例
虚拟处理器可通过虚拟指令vmstart以及vmstop进行管理
高精度的64位定时器
定时器可通过虚拟指令vmgettime以及vmsettime进行管理
附录
- HVM下的两种模式-用户模式与访客模式
- Chrome的隐身模式与访客模式的差异
- Ubuntu16.04下禁用guest访客模式
- Windows下用户模式与内核模式
- linux下 两种模式的切换
- 用户模式下的I2c_dev
- 内核模式与用户模式
- 用户模式与内核模式
- 用户模式与内核模式
- 用户模式与内核模式
- 用户模式与内核模式
- 内核模式与用户模式
- 用户模式与内核模式
- 按照两种模式排序用户列表
- Singleton模式的两种实现模式
- 访客模式(Guest Mode)
- SystemUI中的访客模式整理
- OpenWrt的两种模式:桥接模式与路由模式
- MySQL存储过程调试工具-dbForge Studio for MySQL
- c++ new 报错原因查找
- ElasticSearch分布式架构
- 内存管理之伙伴算法
- 拆解iPhone 6S屏幕:8面薄层处处不同,3D Touch重新定义手机屏幕--ESM
- HVM下的两种模式-用户模式与访客模式
- string,int ,Integer之间的转换方法
- 导入android-support-v7出错的解决办法
- 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构
- MySql外键设置详解
- 两款MongoDB的可视化管理工具
- 使用Python将Word文件另存为任意支持的格式
- 【OCJP】 第4题---Comparable只有个compareTo()方法
- 卷积神经网络CNN