02 2015 档案
摘要:设备注册于设备除名 设备注册与设备除名一般有register_netdev和unregister_netdev完成。这两个是包裹函数,负责上锁,真正起作用的是其调用的register_netdevice和unregister_netdevice。参见:net/core/dev.c。 下图描述了设...
阅读全文
摘要:副标题:设备注册相关的基本结构的原理框架设备注册与删除时间 设备在下列两种情况下进行注册:1)加载NIC驱动时2)插入热插拔设备时 这里NIC与热插拔设备有些不同。a.对于非热插拔NIC来说,NIC的注册是伴随着其驱动的发生的,而NIC可以内建到内核,也可以作为模块载入,如果内建入内核,则NIC设备...
阅读全文
摘要:引导期间的内核选项 Linux允许用户把内核配置选项传给引导记录,再有引导记录传给内核,以便对内核进行调整。 start_kernel中调用两次parse_args,用于引导期间配置用户输入数据。 parse_param是一个函数,用于解析输入的内核配置选项的参数字符串。字符串的格式为:name...
阅读全文
摘要:概述 内核的PCI子系统(即PCI层)提供了不同设备一些通用的功能,以便简化各种设备驱动程序。 PCI层重要结构体如下:pci_device_id 设备标识,根据PCI标志定义的ID,而不是Linux本地的。pci_dev 类似于网络设备的net_device。每个PCI会被分配一个net_...
阅读全文
摘要:概述 内核的初始化过程过程中,与网络相关的工作如下所示: 内核引导时执行start_kernel,start_kernel结束之前会调用rest_init,rest_init初始化内核线程init(在Linux3-12中为kernel_init)。asmlinkage void __init st...
阅读全文

浙公网安备 33010602011771号