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

本文详细介绍了HVM(硬件虚拟化)的两种模式:用户模式和访客模式。HVM用户模式在Hexagon程序员开发手册权限架构基础上有内存地址限制,而访客模式作为其超集,不仅包含用户模式的功能,还定义了虚拟指令和虚拟事件,支持多用户多任务操作系统。访客模式提供了事件处理、中断、异常、缓存控制、内存管理和处理器资源管理等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

在虚拟器中,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指令
指令2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值