发明名称 一种面向嵌入式Hypervisor 的中断虚拟化操作方法
摘要 本发明公开了面向嵌入式Hypervisor的中断虚拟化操作方法,Hypervisor对硬件中断进行了接管,提供给上层GuestOS虚拟化中断,通过运行在Hypervisor之上的服务线程模拟中断事件。GuestOS不响应硬件中断,而是通过Hypervisor的中断注入操作执行虚拟中断服务程序。Hypervisor产生中断注入,GuestOS在原来让出CPU的栈环境下进行中断服务程序的执行。这样直接使用原有现场环境避免了拷贝。与Xen中的虚拟化方案相比,减少了现场保存操作,从而可以更加高效的进行中断的响应。
申请公布号 CN102279769A 申请公布日期 2011.12.14
申请号 CN201110191643.5 申请日期 2011.07.08
申请人 西安交通大学 发明人 梅魁志;李铁强;李国辉;张朋丰;张恩阳;展华益
分类号 G06F9/48(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 陆万寿
主权项 一种面向嵌入式Hypervisor的中断虚拟化操作方法,其特征在于,包括以下步骤:1)对Hypervisor之上的GuestOS所在域创建虚拟中断标志和虚拟中断控制器,并创建用于产生虚拟设备中断的服务线程;Hypervisor对虚拟中断标志、虚拟中断控制器和服务线程进行管理,实现虚拟中断的产生和操作;2)当GuestOS运行时发生硬件中断,由Hypervisor来响应中断,GuestOS让出CPU,中断GuestOS当前程序的执行,Hypervisor将GuestOS的现场保存到GuestOS当前进程的内核栈中;Hypervisor在该内核栈环境执行中断服务程序,并将该内核栈地址信息保存到Hypervisor;3)Hypervisor完成对硬件中断的响应之后,若该硬件中断最终需要传递给某一GuestOS,那么Hypervisor唤醒该GuestOS所在域中的服务线程,对虚拟中断控制器进行操作,将中断信息记录在虚拟中断控制器中;当GuestOS被Hypervisor调度执行后,首先进行中断注入的判断,若GuestOS所在域虚拟中断标志为0,且虚拟中断控制器有中断未决,那么Hypervisor对GuestOS进行中断注入操作;否则Hypervisor根据GuestOS所保存的内核栈地址信息直接进行GuestOS现场的恢复;4)在Hypervisor对GuestOS进行中断注入操作时,Hypervisor读取其保存的GuestOS的中断注入点,从而使得系统从Hypervisor跳转到GuestOS的中断注入点,完成中断服务程序的执行;完成中断服务程序的执行之后,GuestOS根据之前Hypervisor保存的现场进行GuestOS现场的恢复。
地址 710049 陕西省西安市咸宁西路28号