[发明专利]通过半虚拟化驱动访问硬件的方法、后端驱动及前端驱动有效
申请号: | 201210527643.2 | 申请日: | 2012-12-10 |
公开(公告)号: | CN103870311A | 公开(公告)日: | 2014-06-18 |
发明(设计)人: | 唐明 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 虚拟 驱动 访问 硬件 方法 后端 前端 | ||
1.一种通过半虚拟化驱动访问硬件的方法,其特征在于,适用于物理机上,所述物理机包括:虚拟机监控器、设置有后端驱动的特权虚拟机以及至少一设置有前端驱动的非特权虚拟机,其中,所述虚拟机监控器通过至少提供事件通道、授权表和I/O共享环协助所述前端驱动和所述后端驱动进行通信;所述方法包括:
所述特权虚拟机的所述后端驱动接收所述非特权虚拟机的所述前端驱动通过所述事件通道发送的目标事件通知,其中,所述目标事件通知用于指示所述后端驱动从所述I/O共享环中获取目标I/O请求;
从所述I/O共享环中获取目标I/O请求,所述目标I/O请求携带有目标授权项的标识;
根据所述授权表,确定所述目标授权项的标识对应的目标伪物理地址,其中,所述授权表的授权项在所述非特权虚拟机初始化预先构建的共享内存池时被填充有所述共享内存池中的共享内存资源的伪物理地址,所述伪物理地址与所述授权项具有唯一对应性,且每一授权项唯一对应一标识,所述共享内存池为所述非特权虚拟机初始化所述前端驱动时由所述非特权虚拟机构建并初始化;
根据预设的索引表,确定所述目标伪物理地址对应的目标本地虚拟地址,其中,所述索引表在所述后端驱动实现所述非特权虚拟机与所述特权虚拟机之间的资源预映射过程中创建,其用于指明所述共享内存池中的共享内存资源与所述特权虚拟机的内存空间的映射关系;
利用所述目标本地虚拟地址,读取所述目标伪物理地址所对应目标共享内存资源中的网络数据,并将所述网络数据转发给相应的硬件,以此实现对所述硬件的本次访问。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标I/O请求完成后,通过所述事件通道向所述前端驱动反馈I/O请求完成通知,以指示所述前端驱动释放所述目标共享内存资源,将释放后的所述目标共享内存资源确定为所述共享内存池中处于非占用状态的共享内存资源。
3.根据权利要求1或2所述的方法,其特征在于,所述后端驱动实现所述非特权虚拟机与所述特权虚拟机之间的资源预映射过程,包括:
所述后端驱动接收所述非特权虚拟机的所述前端驱动通过所述事件通道发送的初始化通知;
从所述I/O共享环中获取I/O请求,所述I/O请求中携带授权项的标识;
根据所述授权表,确定所述I/O请求中所述授权项的标识对应的伪物理地址;
将所述伪物理地址对应的共享内存资源映射到所述特权虚拟机的系统内存中,其中,所述伪物理地址与本地虚拟地址具有唯一对应性;
构建关于所述伪物理地址与相应的本地虚拟地址的映射关系的索引表。
4.根据权利要求1所述的方法,其特征在于,
所述前端驱动为半虚拟化网卡前端驱动,所述后端驱动为半虚拟化网卡后端驱动;
或者,
所述前端驱动为半虚拟化磁盘前端驱动,所述后端驱动为半虚拟化磁盘后端驱动;
或者,
所述前端驱动为半虚拟化USB前端驱动,所述后端驱动为半虚拟化USB后端驱动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210527643.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:绵筋纸
- 下一篇:一种隔音毡的超快速成型装置及其应用