[翻译] Section 5.3. Basic Goals of NIC Initialization NIC初始化的基本目标

在Linux内核中的每一个网络设备都是实例化一个net_device结构体。在第八章,将会介绍net_device结构体每一个字段是如何被初始化的,一部分是由内核实现,另一部分是由驱动程序实现。在本章,将介绍驱动如何去申请内核与设备通信的资源,比如:

1、IRQ线

将会在“设备与内核之间交互Interaction Between Devices and Kernel”一节中详细介绍。NIC需要申请一个IRQ,当需要时唤醒内核。然而虚拟设备不需要申请IRQ,比如回环设备,因为它只在其内部活动,详细见虚拟设备。有两个函数需要去申请和释放IRQ线,将会在后面的“硬件中断”一节中介绍。在后面章节“通过 /proc文件系统调整”会使用/proc/interrupts文件系统会查看当前赋值的状态

2、IO端口和内存申请

驱动程序去映射一部分内存是比较常见的做法,这样可以驱动程序直接对系统存储器进行读写操作。注册资源使用request_region API,释放资源使用release_region API

猜你喜欢

转载自blog.csdn.net/qq_28351465/article/details/81974549