[发明专利]中断控制器的处理方法、装置及电子设备在审
申请号: | 201911417508.0 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111158863A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 高翔;朱琛 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F13/24 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杜叶蕊;臧建明 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 中断 控制器 处理 方法 装置 电子设备 | ||
本公开提供的中断控制器的处理方法、装置及电子设备,通过虚拟机监测到虚拟处理器中断,启动虚拟机中的中断处理程序,以使中断处理程序向中断控制器发起对其状态寄存器的读取请求;当内核虚拟机捕获虚拟处理器发生缺页异常且缺页异常的地址指向中断控制器时,且虚拟处理器的运行状态为中断状态时,内核虚拟机的缺页处理程序启动并将虚拟机中预设的内存地址填入虚拟机的页表中,以使所述页表的属性置为只读,从而利用预设的内存地址和页表的属性,使虚拟机能够快速的读取虚拟机的中断控制器的状态寄存器的信息,避免现有技术存在的虚拟机需要退出到VMM之后,才能对状态寄存器的信息进行读取的问题。
技术领域
本发明公开涉及一种计算机技术,尤其涉及一种中断控制器的处理方法、装置及电子设备。
背景技术
随着虚拟机技术的不断发展,其可被广泛应用于数据中心、云计算服务等场景中。内核虚拟机(Kernel-Based Virtual Machine,简称KVM)所管理的每一个虚拟机实例被操作系统看作是一个进程。输入输出(Input and Output,简称IO)虚拟化是指与设备相关的虚拟化,其实质是由虚拟机通过虚拟机监控器(Virtual Machine Monitor,简称VMM)构建的虚拟设备复用有限的物理主机的外设资源以模拟真实外设访问的效果。而IO中断虚拟化是IO虚拟化的一部分,虚拟机使用将使用虚拟机的中断控制器来管理多个IO外设中断。
图1示出了现有技术中的一种虚拟机中断处理流程的示意图;如图1所示的,流程示意图中的粗线表示会引发处理器例外或状态切换的动作,其中实线代表访问中断控制器的寄存器。QEMU是一个主机上的VMM(virtual machine monitor),通过动态二进制转换来模拟CPU,并提供一系列的硬件模型,使guest os认为自己和硬件直接打交道,其实是同QEMU模拟出来的硬件打交道,QEMU再将这些指令翻译给真正硬件进行操作。通过这种模式,guest os可以和主机上的硬盘,网卡,CPU,CD-ROM,音频设备和USB设备进行交互。因为KVM是硬件辅助的虚拟化技术,主要负责比较繁琐的CPU和内存虚拟化,而Qemu则负责I/O虚拟化,两者合作各自发挥自身的优势,相得益彰。
从图1可知,虚拟处理器对中断控制器的一次寄存器访问需要经过虚拟处理器-KVM-QEMU(VMM)-KVM-虚拟处理器的流程,其中每个步骤都需要保存恢复虚拟处理的若干状态信息和线程信息至中断控制器。
现有技术中,为了提高处理效率,可直接在KVM中模拟中断控制器的行为。图2示出了现有技术中的另一种虚拟机中断处理流程的示意图;特别的,在中断响应阶段的虚拟处理器访问中断控制器的寄存器过程中,KVM可以直接将数据返回给虚拟处理器,不需要再经过QEMU(开源虚拟机),模拟流程简化为虚拟处理器-KVM-虚拟处理器。
但是,在IO虚拟中断的响应过程中,虚拟处理器对寄存器的读是为了获取中断控制器的状态,其处理流程依旧不够简化,即尽管中断控制器的状态在中断产生前就已经到达了KVM,但在中断状态读取时,依旧需要通过KVM。也就是说,现有的方式中,仍然存在状态切换的问题。
发明内容
针对上述技术问题,本公开提供了一种中断控制器的处理方法、装置及电子设备。
第一方面,本公开提供了一种虚拟机的中断控制器的处理方法,包括:
虚拟机监测到虚拟处理器中断,启动虚拟机中的中断处理程序,以使所述中断处理程序向中断控制器发起对其状态寄存器的读取请求;
当所述内核虚拟机捕获所述虚拟处理器发生缺页异常且缺页异常的地址指向所述中断控制器时,内核虚拟机将根据中断控制器的状态寄存器在虚拟机中的地址,对所述虚拟处理器的运行状态进行判断;
当所述运行状态为中断状态时,中断控制器的缺页处理程序启动并将虚拟机中预设的内存地址填入所述虚拟机的页表中,以使所述页表的属性置为只读;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911417508.0/2.html,转载请声明来源钻瓜专利网。