linux kernel
文章平均质量分 54
JDSH0224
这个作者很懒,什么都没留下…
展开
-
linux 内核配置ramdisk
对于default_rootfs函数的编译将在没有设置initrd/initramfs的条件下进行。如果设置了【Initial RAM filesystem and RAMdisk(initramfs/initrd)support】选项。那么default_rootfs()函数将不会编译进linux内核!原创 2023-01-29 14:45:41 · 322 阅读 · 0 评论 -
内核动态调试输出dev_info, dev_dbg
dev_info, dev_dbg Linux 内核动态调试_代码撸起的博客-CSDN博客_dev_info 输出原创 2022-09-09 09:05:08 · 893 阅读 · 0 评论 -
整型数组指定索引初始化
DEFINE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases) ={ .lock = __RAW_SPIN_LOCK_UNLOCKED(hrtimer_bases.lock), .clock_base = { { .index = HRTIMER_BASE_MONOTONIC, .clockid = CLOCK_MONOTONIC, .get_time = &ktime_get, .resolution = KTI.原创 2020-07-14 14:46:40 · 440 阅读 · 0 评论 -
linux proc_root_init
1. proc_root_init()函数路径:linux-3.10.x\init\main.c-->start_kernel() static struct file_system_type proc_fs_type = { .name = "proc", .mount = proc_mount, .kill_sb = proc_kill_sb, .fs_flag...原创 2017-12-04 23:59:43 · 1387 阅读 · 0 评论 -
linux kthread
前言 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2):a. PID=0 系统自动创建、运行在内核态;b. PID=1 由0进程创建,完成系统的初始化. 是系统中所有其它用户进程的祖先进程Linux中的所有进程都是有init进程创建并运行的。首先Linux内核启动,然后在用户空间中启动init...原创 2017-12-09 23:43:17 · 1162 阅读 · 0 评论 -
linux kernel_init
前言: 内核在启动用户空间程序时会创建两个线程,kthread() 和 kernel_init()线程,在前一篇介绍了kthread()线程 点击打开链接,本文不在赘述,这里主要是对kernel_init()线程创建init=1号进程,并完成驱动模块的注册(这里的驱动模块是编译进内核的模块)。 1. kthreadd()路径:linux-3.10.x\init\main.c...原创 2017-12-10 23:45:32 · 3063 阅读 · 0 评论 -
linux platform平台总线
前言:platform是linux下的另外一种虚拟的平台总线,用于注册设备驱动,platform总线也是挂接在device平台下,该篇博客先介绍基本框架,最后通过pinctrl子系统理解platform的注册流程。1. device平台 /** * struct device - The basic device structure * @parent: The device...原创 2017-12-11 23:32:18 · 886 阅读 · 0 评论 -
linux /sbin/hotplug(mdev)
linux 内核驱动采用热插拔机制的原理,见之前的一篇文章中的“4.5 热插拔机制/sbin/hotplug(mdev)”,路径:点击打开链接原创 2017-12-24 23:44:22 · 709 阅读 · 0 评论 -
Linux do_initcall_level()
1. do_initcalls()路径:linux-3.10.x\init\main.c start_kernel()-->rest_init()-->kernel_init()-->kernel_init_freeable()-->do_basic_setup()-->do_initcalls()-->do_initcall_level()-->...原创 2017-12-07 23:56:49 · 1759 阅读 · 0 评论 -
linux pidmap_init
本内容只是为了方便自己记录问题,内容比较简单,如果要追述根源,可以参照这位大神的文章:点击打开链接 1. 内核启动报文 pid_max: default: 32768 minimum: 301 可以看到进程编号最大个数为32768,最小为301,曾经测试过进程创建、再释放循环操作,的确是到达32768后又重新开始计算。 2. pidmap_init()路径...原创 2017-12-03 22:41:06 · 567 阅读 · 0 评论 -
linux calibrate_delay
1.内核启动信息 console [ttyS0] enabledCalibrating delay loop... 148.88 BogoMIPS (lpj=744448)pid_max: default: 32768 minimum: 301 2.BogoMIPSBogoMIPS (Bogo--Bogus--伪的,MIPS--millions of inst...原创 2017-12-03 22:13:19 · 861 阅读 · 0 评论 -
linux设备模型分析(转)
非常详细的“linux设备模型分析”http://www.cnblogs.com/wwang/archive/2010/12/09/1897106.htmlhttp://www.cnblogs.com/wwang/archive/2010/12/16/1902721.htmlhttp://www.cnblogs.com/wwang/archive/2010/12/27/1916024.转载 2013-10-17 16:34:12 · 546 阅读 · 0 评论 -
linux completion 完成量
linux completion 完成量原创 2017-05-21 17:02:25 · 534 阅读 · 0 评论 -
linux工作队列
linux工作队列1. 功能描述工作队列(work queue)是Linux kernel中将工作推后执行的一种机制。这种机制和BH或Tasklets不同之处在于工作队列是把推后的工作交由一个内核线程去执行,因此工作队列的优势就在于它允许重新调度甚至睡眠。2. 工作队列结构体typedef void (*work_func_t)(struct work_struct原创 2017-05-21 23:07:41 · 243 阅读 · 0 评论 -
linux虚拟地址空间布局
详见:点击打开链接转载 2018-06-21 09:51:13 · 321 阅读 · 0 评论 -
linux console
1.system.map映射表参考之前写的一篇博客 点击打开链接 2.从内核第二阶段启动分析控制台console注册流程路径: linux-3.10.101/init/main.casmlinkage void __init start_kernel(void){ //...... pr_notice("Kernel command line: %s\n", boot_...原创 2017-12-03 01:17:11 · 2972 阅读 · 1 评论 -
linux _setup()
1. system.map分析 2.__setup(str, fn)路径:linux-3.10.x\include\linux\init.h源码如下 /* * Only for really core code. See moduleparam.h for the normal way. * * Force the alignment so the compile...原创 2017-12-03 00:24:04 · 439 阅读 · 0 评论 -
linux system.map
当运行GNU链接器gld(ld)时若使用了"-M"选项,或者使用nm命令,则会在标准输出设备(通常是屏幕)上打印出链接映像(link map)信息,即是指由链接程序产生的目标程序内存地址映像信息。其中列出了程序段装入到内存中的位置信息。具体来讲有如下信息:目标文件及符号信息映射到内存中的位置。公共符号如何放置。链接中包含的所有文件成员及其引用的符号。通常我们会把发送到标准输出设备的...原创 2017-12-02 23:53:01 · 998 阅读 · 0 评论 -
在内核外编写的linux驱动程序MAKEFILE
一般都是这么写:ifneq ($(KERNELRELEASE),)obj-m := elseKERNELDIR ?= /lib/modules/$(shell uname -r)/buildPWD := $(shell pwd)default:$(MAKE) -C $(KERNELDIR) M=$(PWD) modulesendif这个makef原创 2013-10-12 11:16:11 · 1054 阅读 · 0 评论