Chinaunix首页 | 论坛 | 博客
  • 博客访问: 818771
  • 博文数量: 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 11:05:03

    研究内核源码和内核运行原理的时候,很总要的一点是要了解内核的初始情况,也就是要了解内核启动过程。我在研究内核的内存管理的时候,想知道内核启动后的页表的放置,页表的初始化等信息,这促使我这次仔细地研究内核的启动代码。    CPU在bootloader的帮助下将内核载入到了内存中,并开始执行。当然,bootloader必须为zImage做好必要的准备: 1. CPU 寄存器的设置:R0=0;R1=Machine ID(即Machine Type Number,定义在linux/arch/arm/tools/mach-types);R2=内......【阅读全文】

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

发布时间: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......【阅读全文】

阅读(1347) | 评论(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->......【阅读全文】

阅读(577) | 评论(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......【阅读全文】

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

登录 注册