内核用户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仍然很好,可用于共享数据,但中断不起作用.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...