- 博客(5)
- 收藏
- 关注
原创 linux kernel 2.4.16 __alloc_bootmem_core函数的理解
/* * We 'merge' subsequent allocations to save space. We might 'lose' * some fraction of a page if allocations cannot be satisfied due to * size constraints on boxes where there is physical RAM spa
2013-10-25 14:52:52 697
转载 关于volatile和(*(unsigned long *)&jiffies)++
volatile中文的意思是易于挥发的。在C语言中,如果一个变量被声明为volatile,则说明这个变量每回都要从内存读到寄存器中,操作完以后, 再将值写回到内存中,编译器(例如gcc)并不将值cache在寄存器中。对于多线程或SMP系统,要注意使用volatile。 int wait = TRUE; thread1() thread2() { { while (w
2013-10-22 12:49:40 727
转载 GCC 内联汇编语法
在阅读Linux内核源码或对代码做性能优化时,经常会有在C语言中嵌入一段汇编代码的需求,这种嵌入汇编在CS术语上叫做inline assembly。本文的笔记试图说明Inline Assembly的基本语法规则和用法(建议英文阅读能力较强的同学直接阅读本文参考资料中推荐的技术文章 ^_^)。注意:由于gcc采用AT&T风格的汇编语法(与Intel Syntax相对应,二者的区别参见这里),因此
2013-10-20 17:12:21 742
转载 linux中断处理浅析
最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~第一阶段--获取中断号每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供的中断服务程序.在进入中断服务程序时, CPU已经自动禁止了本CPU上的中断响应, 因为CPU不能假定中断服务程序是
2013-10-19 17:41:14 482
转载 键盘驱动之--- 硬件i8042控制器
【PC端】 :从我前面转载的一篇文章可以知道:pc机上对键盘进行读写与控制的io端口是60H和64H.60H作为数据端口,由改端口可以给键盘写数据或读取键盘数据64H作为命令端口,可以读取键盘的状态或写入命令数据【键盘控制器端】 :在linux下我们可以用下面的命令来查看我们pc机当前使用的是什么键盘控制器:helight@helight-desktop:~$ ca
2013-10-02 15:53:05 2416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人