![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
_Linux内核源代码分析
Lazylink
arm64/x86
展开
-
linux源代码情景分析---i386汇编学习
__asm__ __violate__ ("movl %1,%0" : "=r" (result) : "m" (input)); “movl %1,%0”是指令模板;“%0”和“%1”代表指令的操作数,称为占位符,内嵌汇编靠它们将C语言表达式与指令操作数相对应。 指令模板后面用小括号括起来的是C语言表达式,本例中只有两个:“result”和“input”,他们按照出原创 2016-08-02 21:15:06 · 659 阅读 · 0 评论 -
linux3.4.2内核定时器time_list的使用
在有些驱动程序中,我们需要用定时的功能去扫描一个硬件,或者说成去执行一个函数,那么我们可以采用内核动态定时器:struct timer_list { /* * All fields that change during normal runtime grouped to the * same cacheline */ struct list_head entry; unsig原创 2016-10-27 00:56:08 · 819 阅读 · 0 评论 -
关于在windows下解压linux-3.4.2的重复文件
1、在include的目录下有: xt_connmark.h xt_dscp.h xt_rateest.h xt_tcpmss.h ipt_ecn.h ipt_ttl.h ip6t_hl.h2、在net目录下有: xt_dscp.c xt_hl.c xt_原创 2016-10-02 21:29:45 · 2846 阅读 · 0 评论 -
linux内核调试
1.使用gdb和KVM调试内核:参考:使用 GDB 和 KVM 调试 Linux 内核与模块2.使用qemu和gdb调试:需要安装qemu,当然大环境是ubuntu,然后每次要make内核原创 2017-02-02 19:21:59 · 710 阅读 · 0 评论 -
关于在底层驱动改变当前进程的状态的疑问
这里便是一段有疑问的代码,始终想不通某一进程调用底层函数,然后底层函数又改变了当前进程的状态,疑问在于:改变进程状态后,而进程调用底层函数还在运行,不知道进程与底层函数关系,似乎不是简单的调用关系。见有关代码:// Starts urb and waits for completion or timeoutstatic int usb_start_wait_urb(urb_t *urb,原创 2017-03-12 00:22:49 · 625 阅读 · 0 评论 -
深入Linux内存管理
关于Linux的内核的书看了很多,但是其中还算是linux内核源代码情景分析比较详细。/////////////2016/11/4修改#include <stdio.h>void greet(){ printf("Hello Word !");}int main(void){ greet();} 经过反汇编后,我们可以看见每行指令前边的地址,其实我们在编译我们写的代码的时候,原创 2016-04-12 00:45:46 · 813 阅读 · 0 评论