基于Qcom虚拟化平台vdev virtio的EF BE实现
文章平均质量分 66
基于Qcom QNX虚拟化平台vdev virtio的EF BE实现,实现BE和FE之间数据的收发
余额抵扣
助学金抵扣
还需支付
¥89.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
IAYL.BL
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于Qcom虚拟化平台vdev virtio的EF BE实现(八)
还记得前面QNX将收到的msg->name从“test”修改为“txdone”么,修改以后使用。函数来获取buffer,获取以后我们将msg结构体打印出来看看是不是我们想要的数据。虽然驱动我们创建了两个vq分别用来发送和收取,这里我们实际只是用其中一个来演示。,这里的结构与QNX驱动中定义的结构是一样的,保证他们之间可以正常解析数据。我们可以通过log来看看是不是按照我们设计的进行的数据收发。到此基本的数据收发就可以完成,虽然没有使用rx的回调函数。消息,然后就可以执行对应的处理从vq中拿到数据并解析。原创 2024-12-27 11:11:05 · 483 阅读 · 0 评论 -
基于Qcom虚拟化平台vdev virtio的EF BE实现(七)
完成find操作以后,可以将找到的vq分别放到我们的priv结构体中保存,tx_vq使用的就是vqs[0],rx_vq使用的就是vqs[1]。函数中,首先我们定义了两个virtqueue的name分别是“test_tx”和“test_rx”;为了测试,这里启动一个工作队列,然后持续发送数据到BE,接下来的数据收发我们详细讲解。所以当安卓驱动准备好后,QNX也会收到对应OK的消息,保证双方状态一致。没错,这里对应的就是QNX驱动中vio_vwrite函数中。这里没什么说的,首先申请驱动自己的结构体。原创 2024-12-27 11:10:26 · 92 阅读 · 0 评论 -
基于Qcom虚拟化平台vdev virtio的EF BE实现(六)
【代码】基于Qcom虚拟化平台vdev virtio的EF BE实现(六)原创 2024-12-27 11:09:18 · 106 阅读 · 0 评论 -
基于Qcom虚拟化平台vdev virtio的EF BE实现(五)
首先是设备地址:1c900000,这个地址与QNX我们定义的地址是一个,需要与之匹配。按照makefile,我们将编译出virtio_test.ko这一驱动模块。首先在Android.mk文件中仿照其他模块添加我们自己定义的模块。,也就是QNX配置的device id,这里注意需要与QNX匹配。接着是compatible属性,使用的是。,通常虚拟设备都是挂在mmio驱动下的。号中断(76 + 32 = 108)。修改kbuild将文件夹添加进去。将模块名称添加到dlkm文件中。,也就是QNX我们配置的。原创 2024-12-27 11:06:43 · 86 阅读 · 0 评论 -
基于Qcom虚拟化平台vdev virtio的EF BE实现(四)
其次是。原创 2024-12-27 11:05:24 · 139 阅读 · 0 评论 -
基于Qcom虚拟化平台vdev virtio的EF BE实现(三)
code代码比较多,单独放一章节,后续对这些代码进行讲解。原创 2024-12-27 11:04:27 · 98 阅读 · 0 评论 -
基于Qcom虚拟化平台vdev virtio的EF BE实现(二)
这里简单说一下,vdev后面加的就是你需要启动的二进制文件,对应的我们的驱动文件;loc后面填写使用的地址,与我们前面设备树配置的地址保持一致;intr后面填写使用的中断号,同样与设备树配置的一致;根据上面的配置我们的文件就可以正常启动加载了,另外如果命令没有包含intr等参数,会导致驱动无法正常加载,所以需要尽可能保持完整。在上面的路径中,包含很多vdev虚拟设备驱动,这里就包括了可能需要的虚拟regulator、虚拟i2c等。完成上面的配置内容以后,我们还需要通过配置文件让他能够正常启动。原创 2024-12-27 11:03:29 · 144 阅读 · 0 评论 -
基于Qcom虚拟化平台vdev virtio的EF BE实现(一)
基于Qcom虚拟化架构我们知道,QNX作为Host端,Android作为Geust端。因此在安卓侧使用某些资源时,而对应的资源在QNX侧控制,这就需要vdev来进行交互。这里以regulator模块作为例子简单讲解一下:如果是通常的Android系统,当某一个设备驱动控制电源时,就需要使用regulator驱动进行控制。但是当安卓作为虚拟机时,而regulator控制又在QNX侧,此时就像上图,需要使用驱动。与QNX的之间进行交互,实际操作由完成。原创 2024-12-27 11:00:42 · 797 阅读 · 0 评论
分享