void request_region(unsigned long from, ******************************************************************************************** request_region()用于内核为驱动“分配”端口,这里分配的意思是,记录该端口已经被某个进程使用,要是其它进程试图访问它,就会产生“忙”错误。所以目的在于实现资源的互斥访问。 反之, 如果一个资源只被一个进程访问,不会导致资源的争用,这时request_region()是可选的。 ******************************************************************************************** ******************************************************************************************** 几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。 io-map的寄存器用outb/w/l,inb/w/l指令访问 |
linux内核中request_region()函数详解
最新推荐文章于 2023-03-10 20:28:04 发布