发布时间:2015-08-27 11:28:10
系统中存在很多设备,每个设备在kernel中都有对应的驱动,那么这些驱动初始化设备以及关闭设备的顺序是怎样的呢?本文试图解答这个问题。1 驱动probe/remove执行时机probe......【阅读全文】
发布时间:2015-08-18 17:39:26
memblock和mem_map是linux内存管理中非常重要的两个全局变量。memblock保存着所有物理内存区域,包括可用的(memory)与保留的(reserved)。mem_map是全局page数组,物理内存每个.........【阅读全文】
发布时间:2015-06-24 17:02:30
1 背景在ARM device tree出现之前,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节。Linus Torvalds在20.........【阅读全文】
发布时间:2015-04-22 19:09:50
ARM ProcedureCall Standard定义了各寄存器在函数调用过程中的作用、基础类型的长度、以及函数调用基本准则,包括栈处理、参数传递等。本文通过实例描述arm与arm64在函数调用过程中栈帧的处理方法,理解栈帧的特点对于理解反汇编代码和定位bug有重要意义。下面是一个样例代码,我们将研究它的调用栈:.........【阅读全文】