将 DMA 缓冲区映射到用户空间
Closed. This question is seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. It does not …
用户程序和 Linux 内核模块之间的通信有哪些选项?
我是 Linux 内核模块编程的新手。从我目前阅读的材料来看,我发现用户程序有 3 种方式请求服务或与 Linux 内核模块通信 /dev 中的设备文件 /proc 文件…
何时使用 /proc 以及何时使用 /dev
我需要编写一个不是设备驱动程序的内核模块。该模块将与一些用户空间进程进行通信。由于我不想使用 ioctl(),因此我要么在 /proc 目录中创建文件,要…
如何查找 unregister_chrdev() 调用是否成功
来自 [linux\fs.h] 的 unregister_chrdev() 调用用于在成功时返回 0,否则返回 <0。但现在,在较新的内核版本中,该函数的返回值已更改为 void,因此…
Linux - 将用户空间文件系统(模仿一个:-))安装为文件系统
我有一段 C 代码,它带有一块内存(静态数组)可以模拟文件操作(它具有类似于 fopen/fclose 等的 API)。因此,使用此模仿文件系统编译的任何代码都…
Linux 内核模块中的 module_init 和 init_module 有什么区别?
我一直在尝试移植一些Linux 驱动程序,并意识到Linux 内核版本2.4 和2.6 之间存在实质性差异。 在 2.4 版本的内核中,模块编程如下 - #define MODULE …
“致命:找不到模块错误”使用modprobe
我的 modprobe 命令有问题...我编译了 hello world 模块并使用 insmod 加载它,它工作正常,当我执行 lsmod 时,它工作正常>,我可以在输出列表中看到…
Linux 内核驱动程序:NVRAM 访问的模型是什么?
我刚刚为我的主板上的 NXP RTC 芯片编写了一个 RTC 驱动程序,效果很好。该芯片还有一些电池支持的 RAM,我希望将其提供给用户空间应用程序。 RTC 框…
如何查看内核中特定模块的更改日志
我想知道如何查看内核中模块的更改日志或提交消息。实际上我在kernel2.6.26中修改了virtio_net。现在2.6.34中的virtio_net似乎与2.6.26中的有很大不同…
Linux 中的上下文切换会保存什么寄存器状态?
在 Linux 中,您会在哪里查找上下文切换中保存了哪些寄存器?例如,我想知道在内核模式驱动程序代码中使用 FP 或向量寄存器是否安全(主要对 x86-64 …