
kernel
hbcbgcx
这个作者很懒,什么都没留下…
展开
-
动态追踪技术漫谈
https://blog.openresty.com.cn/cn/dynamic-tracing/转载 2022-01-09 19:03:50 · 414 阅读 · 0 评论 -
《面向应用开发者的系统指南》导论
https://www.codedump.info/post/20200501-system-guide-for-application-programmer/转载 2022-01-09 18:42:28 · 379 阅读 · 0 评论 -
中断唤醒系统流程
1. 前言曾几何时,不知道你是否想过外部中断是如何产生的呢?又是如何唤醒系统的呢?在项目中,一般具有中断唤醒的设备会有一个interrupt pin硬件连接到SoC的gpio pin。一般来说,当设备需要唤醒系统的时候,会通过改变interrupt pin电平状态,而SoC会检测到这个变化,将SoC从睡眠中唤醒,该设备通过相关的子系统通知上层应用做出相应的处理。这就是中断唤醒的过程。说起来很简洁...转载 2020-02-04 21:45:30 · 1256 阅读 · 0 评论 -
earlycon
drivers/tty/serial/earlycon.c/* early_param wrapper for setup_earlycon() */static int __init param_setup_earlycon(char *buf){ int err; /* * Just 'earlycon' ...原创 2018-12-12 15:58:26 · 289 阅读 · 0 评论 -
linux calibrate_delay
https://blog.youkuaiyun.com/chenliang0224/article/details/787048231.内核启动信息console [ttyS0] enabledCalibrating delay loop… 148.88 BogoMIPS (lpj=744448)pid_max: default: 32768 minimum: 3012.BogoMIPSBogoM...转载 2018-12-06 15:07:44 · 333 阅读 · 0 评论 -
__atags_pointer
arch/arm/kernel/head-common.S /* Determine validity of the r2 atags pointer. The heuristic requires * that the pointer be aligned, in the first 16k of physical RAM...原创 2018-12-12 12:05:42 · 772 阅读 · 0 评论 -
Linux内核访问用户空间文件:get_fs()/set_fs()的使用
http://www.cnblogs.com/arnoldlu/p/8879800.html测试环境:Ubuntu 14.04+Kernel 4.4.0-31关键词:KERNEL_DS、USER_DS、get_fs()、set_fs()、addr_limit、access_ok。参考代码:https://elixir.bootlin.com/linux/v4.4/source内核空间和用户...转载 2019-01-18 16:16:44 · 923 阅读 · 0 评论 -
Linux模块与内核版本不一致
http://blog.chinaunix.net/uid-28611613-id-4748614.html内核版本是如何生成的:Linux 内核在进行模块装载时先完成模块的 CRC 值校验,再核对 vermagic 中的字符信息,linux版本:在linux/utsrelease.h中定义,文件中的内容如下:#define UTS_RELEASE "2.6.35.7-perf+",utsre...转载 2019-03-07 19:46:42 · 2973 阅读 · 0 评论 -
向linux内核版本号添加字符/为何有时会自动添加"+"号或者"xxx-dirty"
https://blog.youkuaiyun.com/davion_zhang/article/details/53781269原文地址:http://blog.youkuaiyun.com/adaptiver/article/details/7225980转载说明:你可能想不到,是Git管理的“问题”,看下面的解析,对于u-boot也是有同样的效果。问题解决方案:1.删除.git目录2.去掉CONFIG_L...转载 2019-03-07 19:47:04 · 135 阅读 · 0 评论 -
Linux内核生成版本号的一些研究
https://blog.youkuaiyun.com/subfate/article/details/40184453真正在工作接触内核,其实仅仅是一年前的事情。在使用git管理代码时,发现编译出来的版本会自动带个加号“+”,或者带有“dirty”字样,当时查了些资料解决了。现在隔了那么久,觉得还是有必要写点笔记出来。上面所提到的,实际上是和Linux内核的管理有关的(比如git本地有修改,但未提交,则...转载 2019-03-07 19:47:33 · 284 阅读 · 0 评论 -
解决模块与内核不匹配问题
https://blog.youkuaiyun.com/lyf666888/article/details/53410940安装模块时出现:[root@FriendlyARM nfs]# insmod key2.kokey2: version magic '2.6.32.2 mod_unload modversions ARMv4 ’ should be '2.6.32.2-FriendlyARM mod...转载 2019-03-07 19:47:46 · 1161 阅读 · 0 评论 -
insmod动态加载内核模块时出现disagrees about version of symbol问题
http://blog.sina.com.cn/s/blog_b37976350101ubpx.html1.编译kernel的时候,会生成Module.symvers文件,记录每个Symbol 和相应的CRC code,例如: 比如这个kernel 版本是2.6.320x6c2a547d usb_submit_urb vmlinux EXPORT_SYMBOL_GPL0x31f9...转载 2019-03-07 19:47:58 · 5307 阅读 · 1 评论 -
Linux Futex的设计与实现
https://www.cnblogs.com/jiayy/p/4443992.html引子在编译2.6内核的时候,你会在编译选项中看到[*] Enable futex support这一项,上网查,有的资料会告诉你"不选这个内核不一定能正确的运行使用glibc的程序",那futex是什么?和glibc又有什么关系呢?1 . 什么是FutexFutex 是Fast Userspace mu...转载 2019-06-14 11:53:22 · 266 阅读 · 0 评论 -
futex机制介绍
https://blog.youkuaiyun.com/y33988979/article/details/822522661、概念futex: a sort of fast, user-space mutual exclusion primitive.Futex是一种用户态和内核态混合的同步机制。首先,同步的进程间通过mmap共享一段内存,futex变量就位于这段共享的内存中且操作是原子的,当进程尝试...转载 2019-06-14 11:53:36 · 430 阅读 · 0 评论 -
Linux 2.6内核Makefile浅析
— 3.7 Compilation flagsccflags-y, asflags-y and ldflags-yThese three flags apply only to the kbuild makefile in which theyare assigned. They are used for all the normal cc, as and ldinvocations ha...转载 2019-06-14 11:50:43 · 609 阅读 · 0 评论 -
earlyprintk
extern void printch(int);static void early_write(const char *s, unsigned n){while (n-- > 0) {if (*s == ‘\n’)printch(’\r’);printch(*s);s++;}}static void early_console_write(struct console ...原创 2018-12-12 15:38:32 · 237 阅读 · 0 评论