Ami*_*mar 4 c arm linux-device-driver linux-kernel
我有关于ioremap的基本查询,用于将设备IO映射到内核的虚拟内存中.
我想知道如果从ioremap返回的地址传递给virt_to_phys()这样的例程,它会返回设备IO地址吗?
谢谢
virt_to_phys()
仅对内核线性映射中的虚拟地址有效,因为它只是一些快速地址算法,而不是完整的软件表行走.线性映射通常仅涵盖RAM.ioremap()
但是,返回的虚拟地址通常(可能总是,但我没有耐心检查每个实现)是一个vmalloc地址,所以如果你把它传递给virt_to_phys()
你,你会得到废话.