摘要: pcap_create-->pcap_create_interface-->handle->activate_op = pcap_activate_linux;pcap_activate-->status = p->activate_op(p); <--> pcap_activate_linux-- 阅读全文
posted @ 2018-04-19 17:04 johnson.c 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 现在以module_init为例分析initcall在内核中的调用顺序在头文件init.h中,有如下定义:#define module_init(x) __initcall(x);#define __initcall(fn) device_initcall(fn)继续看:#define device 阅读全文
posted @ 2018-04-19 16:34 johnson.c 阅读(276) 评论(0) 推荐(0) 编辑
摘要: module_init解析及内核initcall的初始化顺序module_init这个函数对做驱动的人来说肯定很熟悉,这篇文章用来跟一下这个函数的实现。在include/linux/init.h里面有module_init的定义,自然,因为一个module可以在内核启动时自动加载进内核,也可以由我们 阅读全文
posted @ 2018-04-19 16:33 johnson.c 阅读(432) 评论(0) 推荐(0) 编辑
摘要: Head.S-->start_kernel-->rest_init-->kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);-->kernel_init-->do_basic_setup-->do_initcalls-->Loop [ 阅读全文
posted @ 2018-04-19 16:30 johnson.c 阅读(71) 评论(0) 推荐(0) 编辑
摘要: head.s-->start_kernel-->rest_init-->kernel_init-->run_init_process("/sbin/init"); 阅读全文
posted @ 2018-04-19 16:26 johnson.c 阅读(164) 评论(0) 推荐(0) 编辑