内核用户I/O应用程序开发

前端之家收集整理的这篇文章主要介绍了内核用户I/O应用程序开发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经阅读了以下有关用户I / O的链接
http://www.hep.by/gnu/kernel/uio-howto/

并遵循http://nairobi-embedded.org/uio_example.html.

我正在使用ivshmem设备将内存从主机映射到来宾(在QEmu中).我正在使用的客户端驱动程序是https://www.gitorious.org/nahanni/guest-code中的kernel_module / uio / uio_ivshmem.c.

我已成功共享多个guest虚拟机之间的内存,我也可以使用上面git存储库中的ivshmem-server从主机向guest发出中断.

但我无法弄清楚如何从客户“中断”注意到写入内存已完成.即向另一位客人发出信号,告知其应该阅读第一位客人所写的内容.

我究竟做错了什么?有没有办法使用UIO发送中断或者我只能接收?我怎么注意到我已经完成了写作/阅读?

最佳答案
好的,我现在已经弄明白为什么我不能发送中断了.

我确实尝试过使用测试应用程序,但正如你在这篇(http://lists.gnu.org/archive/html/qemu-devel/2014-08/msg05388.html)帖子中所读到的那样,内核中的一个补丁打破了uio_ivshmem.c.

这个补丁使ivshmem无法映射BAR0,后者用于发送中断. BAR2仍然很好,可用于共享数据,但中断不起作用.

猜你在找的Linux相关文章