我正在查看“/proc/iomem”条目并且对此有疑问。我的LinuxPC运行的是英特尔至强处理器,系统内存为4GB。我系统的/proc/iomem条目看起来像00000000-0000ffff:reserved00010000-0009f3ff:SystemRAM0009f400-0009ffff:reserved000a0000-000bffff:PCIBus0000:00000c0000-000c7fff:VideoROM000ca000-000cbfff:reserved000ca000-000cafff:AdapterROM000cb000-000cbfff:AdapterR
我正在查看“/proc/iomem”条目并且对此有疑问。我的LinuxPC运行的是英特尔至强处理器,系统内存为4GB。我系统的/proc/iomem条目看起来像00000000-0000ffff:reserved00010000-0009f3ff:SystemRAM0009f400-0009ffff:reserved000a0000-000bffff:PCIBus0000:00000c0000-000c7fff:VideoROM000ca000-000cbfff:reserved000ca000-000cafff:AdapterROM000cb000-000cbfff:AdapterR
我看到__iomem是用来存储ioremap()的返回类型的,但是我在ARM架构中使用了u32它而且效果很好。那么__iomem在这里有什么区别呢?我应该在什么情况下使用它? 最佳答案 很多类型转换都会“很好地工作”。但是,这不是很严格。没有什么能阻止你施展u32到u32*并取消引用它,但这不遵循内核API,容易出错。__iomem是Sparse使用的cookie,一种用于查找内核中可能的编码错误的工具。如果您不在启用稀疏的情况下编译内核代码,__iomem无论如何都会被忽略。首先安装Sparse,然后添加C=1以使用Sparse给
我看到__iomem是用来存储ioremap()的返回类型的,但是我在ARM架构中使用了u32它而且效果很好。那么__iomem在这里有什么区别呢?我应该在什么情况下使用它? 最佳答案 很多类型转换都会“很好地工作”。但是,这不是很严格。没有什么能阻止你施展u32到u32*并取消引用它,但这不遵循内核API,容易出错。__iomem是Sparse使用的cookie,一种用于查找内核中可能的编码错误的工具。如果您不在启用稀疏的情况下编译内核代码,__iomem无论如何都会被忽略。首先安装Sparse,然后添加C=1以使用Sparse给