gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:57:45 27 4
gpt4 key购买 nike

我已阅读以下有关用户 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 发出主机中断。

但我无法弄清楚如何从 guest “中断”以注意到写入内存已完成。 IE。向其他客人发出信号,它应该阅读第一位客人写的内容。

我做错了什么?有什么方法可以使用 UIO 发送中断或者我只能接收吗?我还应该如何注意到我已完成写作/阅读?

最佳答案

好的,我现在明白为什么我不能发送中断了。

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

此补丁使 ivshmem 无法映射用于发送中断的 BAR0。 BAR2 仍然很好,可用于共享数据,但中断不起作用。

关于c - 内核用户 I/O 应用程序开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28000453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com