[发明专利]定制化PCIE总线IO虚拟化支撑方法有效
申请号: | 201910918611.7 | 申请日: | 2019-09-26 |
公开(公告)号: | CN112559120B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 王星焱;林海南;郑岩;黄高阳;刘松;邹通 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F13/42 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定制 pcie 总线 io 虚拟 支撑 方法 | ||
1.一种定制化PCIE总线IO虚拟化支撑方法,其特征在于:包括以下步骤:
S10:虚拟机内核发起PCIE总线扫描动作;
S11:虚拟机扫描PCIE总线时虚拟机内核会发起PCIE IO地址空间的读写操作;首次读写的PCIE IO地址空间会触发处理器的TLB Miss异常,处理器会自动进入TLB Miss异常处理入口;
S12:进入处理器TLB Miss异常处理入口后,在处理器TLB Miss异常处理流程中执行TLB Miss异常处理代码,代码首先判定到当前处理器运行于虚拟机模式下,且S11步骤中访问的地址为PCIE IO地址空间时,TLB Miss异常处理代码的后续步骤中不进行TLB的装填,将处理器运行状态从虚拟机运行状态切换到宿主机运行状态;
S13:处理器运行状态从虚拟机运行状态切换到宿主机运行状态后,会进入宿主机操作系统内核,宿主机操作系统内核通过查询本次虚拟处理器退出的原因可以得知是由于虚拟机内核发生了PCIE IO地址空间的读写访问;
S14:宿主机操作系统内核解析S11步骤中读写的目标地址和相应的指令编码,由宿主机操作系统内核将目标地址和相应的指令编码传递给上层虚拟机管理软件;
S15:上层虚拟机管理软件得到S14中传递的信息,根据其中的指令编码信息判定是进行PCIE IO地址空间读操作还是写操作;如指令编码为读指令操作,进入S16;如指令编码为写指令操作,进入S17;
S16:上层虚拟机管理软件读PCIE IO地址空间模拟执行后,上层虚拟机管理软件需要将读的结果设置到虚拟机寄存器现场堆栈中对应的寄存器中,返回虚拟机的虚拟处理器运行现场;
S17:上层虚拟机管理软件写PCIE IO地址空间模拟执行后,将被模拟的PCIEIO地址空间设置到对应的正确状态后,准备返回虚拟机的虚拟处理器运行现场;
S18:由于S12中,未针对虚拟机进行TLB的装填,所以S10中虚拟机内核发起的每条PCIEIO地址空间读写操作都会造成TLB Miss异常,从而进入S11,循环往复进行处理,实现PCIEIO空间的读写模拟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910918611.7/1.html,转载请声明来源钻瓜专利网。