[发明专利]一种面向ARM架构虚拟化领域的中断虚拟化处理方法及系统有效
| 申请号: | 202110088713.8 | 申请日: | 2021-01-22 |
| 公开(公告)号: | CN112817690B | 公开(公告)日: | 2022-03-18 |
| 发明(设计)人: | 左龙;王涵;杨沧海;夏卫 | 申请(专利权)人: | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 上海段和段律师事务所 31334 | 代理人: | 李佳俊;郭国中 |
| 地址: | 201800 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 arm 架构 虚拟 领域 中断 处理 方法 系统 | ||
1.一种面向ARM架构虚拟化领域的中断虚拟化处理方法,其特征在于,所述方法包括:
虚拟中断采集步骤:将虚拟机的中断请求送入对应的虚拟中断控制器中的寄存器;
虚拟中断注入步骤:虚拟中断控制器采集到虚拟中断请求,将按照VMM排定的优先级,将虚拟中断逐一注入到对应的vCPU中;
所述虚拟中断采集步骤包括:
步骤1-1:VMM在收到中断请求后,首先将中断类型修改为HYP_IRQ,接着VMM将会把该HYP_IRQ发送给对应的虚拟机;
步骤1-2:虚拟机在收到HYP_IRQ时,需要判断该中断是不是该虚拟机所拥有的:
若是,接着将中断发送给对应的虚拟中断控制器;
若不是该虚拟机所拥有的中断,则不需要任何处理;
所述虚拟中断注入步骤包括:
虚拟时钟设备vTimer所产生的时钟IRQ中断:
步骤2-1:虚拟机正常执行,此时虚拟时钟设备vTimer发出时钟IRQ中断;
步骤2-2:触发时钟IRQ中断将会使虚拟机退出,并交由位于VMM内核态中vbar_el2所对应中断处理函数进行中断处理,依据中断处理函数,VMM内核态的vCPU管理模块分析虚拟机退出原因,接着会切换到VMM用户态的vCPU管理模块;
步骤2-3:返回VMM用户态vCPU管理模块,会再一次触发时钟IRQ中断,触发IRQ中断将会进入到宿主机的vbar_el1所对应中断处理函数进行中断处理;
步骤2-4:vbar_el1所对应中断处理函数将根据请求的中断号,进行相应的中断处理;
步骤2-5:中断请求完毕后,将HYP_IRQ中断发送到VMM用户态vCPU管理模块进行逻辑处理;
步骤2-6:VMM用户态vCPU管理模块根据VMM内核态vCPU管理模块返回的HYP_IRQ中断信息,调用VMM内核态所提供的服务,获取HYP_IRQ中断号,并将该中断号注入到对应的vCPU内;
步骤2-7:中断注入之后,VMM用户态vCPU管理模块将会调用VMM内核态服务重新运行被中断的虚拟机的vCPU;
当某个vCPU被调度到重新获得物理CPU的使用权时,就按照虚拟机内客户操作系统的中断服务处理流程进行中断处理;
所述步骤2-5具体包括:
步骤2-5-1:中断请求完毕后,VMM用户态vCPU管理模块接着进行后续RERUN处理;
步骤2-5-2:RERUN处理结束后,进入到VMM内核态vCPU管理模块,VMM内核态vCPU管理模块将虚拟机退出原因修改为HYP_IRQ中断所导致的,因此会将HYP_IRQ中断发送到VMM用户态vCPU管理模块进行逻辑处理。
2.一种面向ARM架构虚拟化领域的中断虚拟化处理系统,其特征在于,所述系统包括:
虚拟中断采集模块:将虚拟机的中断请求送入对应的虚拟中断控制器中的寄存器;
虚拟中断注入模块:虚拟中断控制器采集到虚拟中断请求,将按照VMM排定的优先级,将虚拟中断逐一注入到对应的vCPU中;
所述虚拟中断采集模块包括:
VMM在收到中断请求后,首先将中断类型修改为HYP_IRQ,接着VMM将会把该HYP_IRQ发送给对应的虚拟机;
虚拟机在收到HYP_IRQ时,需要判断该中断是不是该虚拟机所拥有的:
若是,接着将中断发送给对应的虚拟中断控制器;
若不是该虚拟机所拥有的中断,则不需要任何处理;
所述虚拟中断注入模块包括:
虚拟时钟设备vTimer所产生的时钟IRQ中断:
模块2-1:虚拟机正常执行,此时虚拟时钟设备vTimer发出时钟IRQ中断;
模块2-2:触发时钟IRQ中断将会使虚拟机退出,并交由位于VMM内核态中vbar_el2所对应中断处理函数进行中断处理,依据中断处理函数,VMM内核态的vCPU管理模块分析虚拟机退出原因,接着会切换到VMM用户态的vCPU管理模块;
模块2-3:返回VMM用户态vCPU管理模块,会再一次触发时钟IRQ中断,触发IRQ中断将会进入到宿主机的vbar_el1所对应中断处理函数进行中断处理;
模块2-4:vbar_el1所对应中断处理函数将根据请求的中断号,进行相应的中断处理;
模块2-5:中断请求完毕后,将HYP_IRQ中断发送到VMM用户态vCPU管理模块进行逻辑处理;
模块2-6:VMM用户态vCPU管理模块根据VMM内核态vCPU管理模块返回的HYP_IRQ中断信息,调用VMM内核态所提供的服务,获取HYP_IRQ中断号,并将该中断号注入到对应的vCPU内;
模块2-7:中断注入之后,VMM用户态vCPU管理模块将会调用VMM内核态服务重新运行被中断的虚拟机的vCPU;
当某个vCPU被调度到重新获得物理CPU的使用权时,就按照虚拟机内客户操作系统的中断服务处理流程进行中断处理;
所述模块2-5包括:
中断请求完毕后,VMM用户态vCPU管理模块接着进行后续RERUN处理;
RERUN处理结束后,进入到VMM内核态vCPU管理模块,VMM内核态vCPU管理模块将虚拟机退出原因修改为HYP_IRQ中断所导致的,因此会将HYP_IRQ中断发送到VMM用户态vCPU管理模块进行逻辑处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东计算技术研究所(中国电子科技集团公司第三十二研究所),未经华东计算技术研究所(中国电子科技集团公司第三十二研究所)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110088713.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种废纸再生环保设备
- 下一篇:一种航天器用Weinberg软开关变换器





