Linux下的IO端口和IO内存

2014-11-23 22:39:21 · 作者: · 浏览: 17

  CPU对外设端口物理地址的编址方式有两种:一种是IO映射方式,另一种是内存映射方式。


  Linux将基于IO映射方式的和内存映射方式的IO端口统称为IO区域(IO region)。


  IO region仍然是一种IO资源,因此它仍然可以用resource结构类型来描述。


  Linux管理IO region:


  1) request_region()


  把一个给定区间的IO端口分配给一个IO设备。


  2) check_region()


  检查一个给定区间的IO端口是否空闲,或者其中一些是否已经分配给某个IO设备。


  3) release_region()


  释放以前分配给一个IO设备的给定区间的IO端口。


  Linux中可以通过以下辅助函数来访问IO端口:


  inb(),inw(),inl(),outb(),outw(),outl()


  “b”“w”“l”分别代表8位,16位,32位。