HVM下的两种模式-用户模式与访客模式

概述

在虚拟器中,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下的两种模式-用户模式与访客模式_第1张图片
HVM下的两种模式-用户模式与访客模式_第2张图片

你可能感兴趣的:(Hexagon_DSP,程序员,架构,开发)