(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

.PDF文档 专利 MMIO处理方法及装置

文档预览
中文文档 19 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 MMIO处理方法及装置 第 1 页 专利 MMIO处理方法及装置 第 2 页 专利 MMIO处理方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:06:59上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。