ioremap_np和ioremap的作用及区别
ioremap_np
和 ioremap
都是用于将物理地址映射到内核虚拟地址空间的函数,但它们有一些关键区别:
作用
ioremap
: 用于将设备的物理地址映射到内核虚拟地址空间,使得驱动程序可以通过虚拟地址访问设备寄存器。它通常用于内存映射I/O(MMIO) [1] [2].ioremap_np
: 类似于ioremap
,但它显式请求非发布的写入语义(non-posted write semantics)。这意味着在某些架构和总线上,写入操作不会被发布,确保写入操作在数据实际到达目标设备之前不会被认为已经完成 [3].
区别
- 发布写入语义:
- 使用场景:
References
[1] Bus-Independent Device Accesses — The Linux Kernel documentation