(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210893108.2
(22)申请日 2022.07.27
(71)申请人 阿里巴巴 (中国) 有限公司
地址 311121 浙江省杭州市余杭区五常街
道文一西路969号3幢5层5 54室
(72)发明人 李亮 郑晓 龙欣
(74)专利代理 机构 北京众达德权知识产权代理
有限公司 1 1570
专利代理师 袁媛
(51)Int.Cl.
G06F 9/455(2006.01)
G06F 9/50(2006.01)
(54)发明名称
MMIO处理方法及装置
(57)摘要
本申请实施例公开了一种内存映射输入输
出(MMIO)处理方法及装置。 主要技术方案包括:
接收来自客户机(Guest)的内存访问指令, 所述
内存访问指令携带客户机物理地址(GPA); 查询
所述GPA对应的虚拟化页表表项, 若不存在所述
GPA对应的虚拟化页表表项且确认所述内存访问
指令为预设的MMIO访问, 则设置所述GPA对应的
虚拟化页表表项, 其中设置所述GPA对应的虚拟
化页表表项的位域以指示允许MMIO读操作但不
允许MMIO写操作。 通过本申请能够降低MMIO操作
产生的开销。
权利要求书2页 说明书11页 附图5页
CN 115357334 A
2022.11.18
CN 115357334 A
1.一种内存映射输入输出MMIO处理方法, 由虚拟机管理器VMM执行, 其特征在于, 该方
法包括:
接收来自客户机Guest的内存访问指令, 所述内存访问指令携带客户机物理地址GPA;
查询所述GPA对应的虚拟化页表表项, 若不存在所述GPA对应的虚拟化页表表项且确认
所述内存访问指 令为预设的MMIO访问, 则设置所述GPA对应的虚拟化页 表表项, 其中设置所
述GPA对应的虚拟化页表 表项的位 域, 以指示允许M MIO读操作但不允许M MIO写操作。
2.根据权利要求1所述的方法, 其特征在于, 设置所述GPA对应的虚拟化页表表项的位
域以指示允许M MIO读操作但不允许M MIO写操作, 包括:
设置所述GPA对应的虚拟化页表 表项的位 域后三位为0B101。
3.根据权利要求1所述的方法, 其特征在于, 确认所述内存访问指令为预设的MMIO访问
包括:
查询所述GPA对应的地址空间为预设的MIMO内存空间, 则确定所述内存访问指令为预
设的MMIO访问; 或者,
根据预先存储的预设的MMIO访问的信息, 确定所述内存访问指令是否为预设的MMIO访
问, 其中, 所述预设的MMIO访问的信息是由虚拟机模拟器调用预设的第一接口传递给VMM
的。
4.根据权利要求1所述的方法, 其特 征在于, 设置所述GPA对应的虚拟化页表 表项包括:
获取预先存储的所述GPA对应的HVA信息, 所述GPA及其对应的HVA信息是由虚拟机模拟
器调用预设的第二接口传递给VM M的;
从页表中查询HV A信息对应的主机物理地址 HPA信息;
将所述HPA信息设置 于所述GPA对应的虚拟化页表 表项中。
5.根据权利要求1所述的方法, 其特征在于, 在设置所述GPA对应的虚拟化页表表项之
后, 还包括:
若所述内存访问指令为读指令, 则确定所述GPA对应的HPA后, 调用读处理函数对所述
HPA对应的内存空间进行读 操作;
若所述内存访问指令为写指令, 则触发虚拟化页表异常的退出事件以对所述内存访问
指令进行拦截过 滤。
6.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括:
若存在所述GPA对应的虚拟化页表表项, 且所述GPA对应的虚拟化页表表项的位域指示
允许MMIO读操作但 不允许MMIO写操作, 且确认所述内存访问指 令为读指令, 则确定所述GPA
对应的HPA后, 调用读处 理函数对所述HPA对应的内存空间进行读 操作; 或者,
若存在所述GPA对应的虚拟化页表表项, 且所述GPA对应的虚拟化页表表项的位域指示
允许MMIO读操作但不允许MMIO写操作, 且确认所述内存访问指令为写指令, 则触发虚拟化
页表Violation异常的退 出事件以对所述内存访问指令进行拦截过 滤。
7.根据权利 要求1至6中任一项所述的方法, 其特征在于, 所述预设的MMIO访问为PCI设
备直通场景下对所述PCI设备的M MIO访问。
8.一种MMIO处理装置, 设置于VMM, 其特征在于, 该装置包括: 指令接收单元、 表项查询
单元、 第一异常处 理单元和表项设置单 元;
所述指令接收单元, 被配置为接收来自客户机Guest的内存访问指令, 所述内存访问指权 利 要 求 书 1/2 页
2
CN 115357334 A
2令携带GPA;
所述表项查询单元, 被配置为查询所述GPA对应的虚拟化页表表项, 若不存在所述GPA
对应的虚拟化页表 表项, 则触发异常处 理单元;
所述异常处理单元, 被配置为受到所述表项查询单元的触发后, 确认所述内存访 问指
令是否为预设的M MIO访问, 如果是, 则触发表项设置单 元;
所述表项设置单元, 被配置为受到所述第一异常处理单元的触发后, 设置所述GPA对应
的虚拟化页表表项, 其中设置所述GPA对应的虚拟化页表表项的位域以指示允许MMIO读操
作但不允许M MIO写操作。
9.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被处理器执
行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种电子设备, 其特 征在于, 包括:
一个或多个处 理器; 以及
与所述一个或多个处理器关联的存储器, 所述存储器用于存储程序指令,所述程序指
令在被所述一个或多个处理器读取执行时, 执行权利要求1至7中任一项所述的方法的步
骤。权 利 要 求 书 2/2 页
3
CN 115357334 A
3
专利 MMIO处理方法及装置
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:06:59上传分享