Chinaunix首页 | 论坛 | 博客
  • 博客访问: 819510
  • 博文数量: 264
  • 博客积分: 592
  • 博客等级: 中士
  • 技术积分: 1574
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-24 22:02
文章分类

全部博文(264)

文章存档

2019年(2)

2018年(1)

2017年(1)

2016年(4)

2015年(14)

2014年(57)

2013年(88)

2012年(97)

发布时间:2012-12-19 10:52:51

    Linux内核在启动的时候需要一些参数,以获得当前硬件的信息或者启动所需资源在内存中的位置等等。这些信息可以通过bootloader传递给内核,比较常见的就是cmdline。以前我在启动内核的时候习惯性的通过uboot传递一个cmdline给内核,没有具体的分析这个过程。最近在分析内核启动过程的时候,重新看了一下内核启动参数的传递过程,彻底解决一下在这方面的疑惑。   一、bootloader与内核的通讯协议   内核的启动参数其实不仅仅包含在了cmdline中,cmdline不过是bootloader传递给内核的信......【阅读全文】

阅读(854) | 评论(0) | 转发(0)

发布时间:2012-12-09 23:25:49

Linux内核ARP的发送函数分析 void arp_send(int type, int ptype, u32 dest_ip,struct net_device *dev, u32 src_ip,unsigned char *dest_hw, unsigned char *src_hw,unsigned char *target_hw)当系统的网络驱动程序收到一个arp包的时候,调用这个函数处理。简单来说,arp_rev发回本机器或者它代理的其他机器的网卡硬件地址(mac address),并且将发送者的网卡硬件地址放在自己的缓存(arp cache)中。实现过程: (1) 分配一个s......【阅读全文】

阅读(1351) | 评论(0) | 转发(0)

发布时间:2012-12-09 22:00:06

此情況適用於:先加載devices,後加driver時候 driver_register->bus_add_driver->driver_attach->__driver_attach->driver_match_device->   static inline int driver_match_device(struct device_driver *drv,          struct device *dev){ return drv->......【阅读全文】

阅读(578) | 评论(0) | 转发(0)

发布时间:2012-12-09 17:47:30

轉:http://blog.csdn.net/gorilla0123/article/details/6010991   8 of_platform总线上gianfar设备驱动添加,并绑定设备e0024000.ethernet和e0025000.ethernet: /driver/net/gianfar.c module_init(gfar_init); gfar_init à of_register_platform_driver(&gfar_driver) à of_register_driver à driver_register à bus_add_dr......【阅读全文】

阅读(1952) | 评论(0) | 转发(0)

发布时间:2012-12-09 17:44:56

1 dtb文件解析,生成资源单项列表。 start_kernel à setup_arch à unflatten_device_tree 该函数可以解析dtb文件,构建一个由device_node结构连接而成的单项链表。如下在此函数执行过后,在内存中会存在一个如下的链表: 后面所有的函数,如果需要从of tree结构上读取设备资料的,都将从这个链表中遍历并读取。 2 Of_platform总线的注册: Arch/powerpc/kernel/of_platform.c postcore_initcall(of_bus_driver_init);......【阅读全文】

阅读(1390) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册