【技术实现步骤摘要】
基于virtio的IO扩展方法及装置
[0001]本申请涉及硬件接口领域,具体涉及一种基于virtio的IO扩展方法及装置。
技术介绍
[0002]virtio是一种IO半虚拟化技术,不同类型的virtio设备所使用的virtio接口必须按照标准规范进行设计,这种IO方式统一了设备的前后端交互方式。
[0003]对于采用PCIe总线实现的virtio设备,这要求virtio设备所在的VF必须按照统一的标准在PCIeSR
‑
IOV上布局virtqueue、feature bits、config space等,这导致了厂商难以对PCIe设备进行IO扩展。比如virtio
‑
net设备所在的VF,其SR
‑
IOV只能定义规范中要求的virtio资源,这样后端就只能提供net engine的功能,如果后端提供了非virtio接口的功能,则只能在其他VF中实现,而无法在已经提供virtio功能的VF上进行扩展。
技术实现思路
[0004]针对现有技术中的问题 ...
【技术保护点】
【技术特征摘要】
1.一种基于virtio的IO扩展方法,其特征在于,所述方法包括:IO虚拟化框架设备前端检测特征位是否支持子程序函数,如果不支持,则处理结束,否则通过ctrl vq查询当前IO虚拟化框架设备扩展的子程序函数的数量;若判定当前IO虚拟化框架设备扩展的子程序函数的数量大于0,则IO虚拟化框架设备前端使用一个特定编号通过ctrl vq向后端发送查询配置的命令,子程序函数引擎接收到命令后返回对应编号的配置所占用的内存大小,之后IO虚拟化框架设备前端申请对应大小的内存并通过ctrl vq发送添加子程序函数的命令,子程序函数引擎添加子程序函数成功后填充配置信息,IO虚拟化框架设备前端根据配置信息创建辅助设备,辅助设备创建后匹配子程序函数以完成前端初始化;IO虚拟化框架设备前端按照IO虚拟化框架接口与后端交换数据,子程序函数前端按照PCIe SR
‑
IOV方式与后端交换数据;IO虚拟化框架设备前端触发子程序函数,进行设备清理之后释放申请的配置内存,然后通过ctrl vq通知子程序函数引擎删除设备。2.根据权利要求1所述的基于virtio的IO扩展方法,其特征在于,所述特定编号为子程序函数的数量减一后的数值至零数值。3.根据权利要求1所述的基于virtio的IO扩展方法,其特征在于,所述IO虚拟化框架设备为包含有ctrl vq的virtio
‑
net、virtio
‑
block、virtio
‑
gpu中的至少一种。4.一种基于virtio的IO扩展装置,其特征在于,包括:检测模块,用于IO虚拟化框...
【专利技术属性】
技术研发人员:王熙,
申请(专利权)人:深圳云豹智能有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。