IO 实用程序 writel 和 readl 可以用于物理地址吗

标签 c linux

是否可以在物理地址上使用 writel 和 readl 等 IO utils,还是我总是需要先将物理内存映射到我的虚拟空间,然后使用指针作为 writel/readl 的参数?

最佳答案

答案将取决于平台。如果您搜索代码,您会看到 writel 和 readl 通常在特定于体系结构的文件中(在内核树中的 arch/中)实现,作为汇编语言调用。在某些平台上,它可能会起作用。但是,始终调用 ioremap 来获取指针更有意义。这将有助于提高可移植性,如果在特定平台上不需要,无论如何都会对其进行优化。

参见:

Free-Electrons writel

Free-Electrons writel

关于IO 实用程序 writel 和 readl 可以用于物理地址吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37576486/

相关文章:

php - Composer : "Warning: You should avoid overwriting already defined auth settings" after changing authentication settings?

在 Linux 服务上运行时 Java 编码损坏?

c - 在Go中将String传递给Syscall的参数

c - 关于C中scanf函数的问题

linux - 将此linux语句转换为windows命令提示符支持的语句

linux - 什么是路径//,它与/有何不同

.net - 在 Linux 上运行 ASP Classic 和 .NET

c - 如何在C程序中分离这个数字-51.235

c - 关于指针的问题

c++ - 根据公共(public)元素组合成对的整数