Welcome 微信登录

首页 / 操作系统 / Linux / Linux的内存及io映射

Linux会将物理地址映射为虚拟地址,所以要在内核中操作寄存器或者外部设备,就必须找到其相应的虚拟地址。一般来说,io映射相关定义会放在include/arch-xxx/io.h中。而内存相关定义会在memory.h中而实际的映射操作,一般由iotable_map和memtable_map函数来完成,每种架构实际操作的位置都不尽相同,需要查询。还有一种动态映射的方法,用的是ioremap函数。通过以上概念,我们就能方便的找到linux映射相应的定义和代码了