26、虚拟化技术:深入解析Hyper-V相关特性

虚拟化技术:深入解析Hyper-V相关特性

1. 超调用(Hypercalls)与管理程序顶层功能规范(TLFS)

超调用为运行在根分区或子分区的操作系统提供了一种向管理程序请求服务的机制。它具有明确的输入和输出参数集。管理程序顶层功能规范(TLFS)可在 这里 在线获取,它定义了指定这些参数时使用的不同调用约定,还列出了所有公开可用的管理程序功能、分区属性、管理程序和VSM接口。

超调用依赖于特定平台的操作码(如Intel系统的VMCALL、AMD的VMMCALL、ARM64的HVC),调用时会触发VM_EXIT进入管理程序。VM_EXIT事件会使管理程序以更高的特权级别重新执行自身代码,此时虚拟处理器(VP)会被暂停。硬件在特定平台的VMCS(或VMCB)不透明数据结构中维护一个索引,用于指定VM_EXIT的退出原因。

1.1 超调用输入值

超调用输入值是一个64位的值,指定了超调用代码、其属性和使用的调用约定。有三种调用约定:
- 标准超调用 :将输入和输出参数存储在8字节对齐的来宾物理地址(GPAs)上。操作系统通过通用寄存器(如Intel和AMD 64位系统的RDX和R8)传递这两个地址。
- 快速超调用 :通常不允许有输出参数,使用标准超调用中的两个通用寄存器仅向管理程序传递输入参数(最大16字节)。
-

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值