四。DM9000网卡驱动深度分析
1. DM9000的初始化
DM9000_init()
{
1. 分配 net_device 结构
2. 从 platform_device 中获取地址中断号
3. 把获取的地址映射成虚拟地址 操作函数 io_remp()
4. 读取芯片类型
5. 设置操作函数集
6. 注册网卡驱动 Register
}
2. DM9000_open()
{
1. ifconfig eth0 up
}
3. DM9000_xmit()
{
1. 通知协议线,暂停向驱动传送数据用的函数 netif-stop-queue
2. 写入发送数据的长度
3. 写入待发送的数据
4. 启动发送
5. 等待发送结束
}