c-内核中的重映射地址



我对用于将设备IO映射到内核虚拟内存的ioremap有基本查询。

我想知道,如果从ioremap返回的地址被传递到像virt_to_phys()这样的例程,它会返回设备IO地址吗?

感谢

virt_to_phys()仅对内核线性映射中的虚拟地址有效,因为它只是一些快速地址运算,而不是完整的软件表遍历。线性映射通常只覆盖RAM。然而,ioremap()返回的虚拟地址通常(可能总是,但我没有耐心检查每个实现)是vmalloc地址,所以如果您将其传递给virt_to_phys(),您将得到胡说八道。

相关内容

  • 没有找到相关文章

最新更新