ioremap() 函数用于将 I/O 设备的物理地址映射到内核虚拟地址。
内核创建一个页表例如:将虚拟地址映射到请求的物理地址。
当我们执行iounmap()时,这个映射被破坏。
ioremap 函数有两个参数:
- 内存区域的开始
- 内存区域的大小
void *ioremap(unsigned long phys_addr, unsigned long size); void iounmap(void * addr)
仅当物理地址描述的物理内存区域使用 ioremap 映射时,才需要 phys_addr。
此信息保存在 phys_addr 中。
在许多系统上,根本无法通过这种方式直接访问 I/O 内存。
所以必须先建立映射。
这就是ioremap函数的作用。
该函数专门设计用于为 I/O 内存区域分配虚拟地址。
日期:2020-09-17 00:11:04 来源:oir作者:oir