Linux的内存及io映射


Linux会将物理地址映射为虚拟地址,所以要在内核中操作寄存器或者外部设备,就必须找到其相应的虚拟地址。

一般来说,io映射相关定义会放在include/arch-xxx/io.h中。而内存相关定义会在memory.h中

而实际的映射操作,一般由iotable_map和memtable_map函数来完成,每种架构实际操作的位置都不尽相同,需要查询。

还有一种动态映射的方法,用的是ioremap函数。

通过以上概念,我们就能方便的找到linux映射相应的定义和代码了

相关内容