kernel

icc与gcc测试比较

编译使用结果:

程序:

继续阅读

使用git来管理googlecode

在代码管理工具上我还是比较喜欢一点,但是googlecode是使用的svn来管理的,一开始我也是使用svn来管理的,但是总感觉不是很爽。 今天试了一下用git来管理googlecode,还是不错的,又有了以前的那种感觉。

继续阅读

中断号和芯片中断引脚的关系

一直以来搞不懂这个中断号的来历,总以为是中断控制器自己规定的一个号,但是最近在看了s3c2440的中断控制后才发现不是这么一回事.2440的中断处理只能处理32个中断,但是其在内核中出现的中断号却有51,58等.而且它的外部中断INT4~7共享一个中断控制寄存器的一位,INT8~23也是共享控制寄存器的一位.我就好奇了,它怎么区分这些中断呢?而且在内核代码中它又很清楚的区分了这些中断.如下面的代码(2.6.13).

继续阅读

编写的dm9000ep驱动(2.6.13)

最近手头刚好有个开发板,也还有点时间,就试着写了一下它上面的网卡驱动,当然也是参考了其现有的驱动再写的,程序如下:

继续阅读

关于函数调用的参数传递

前几天和王老师在调式一个程序,调试结果怎么都不正确。其实形式很简单: printf("%d; %d", sum(), m); m是一个静态变量,在sum中改变,但是打印结果还是没有变化。 当然在后来我又作了一个测试发现在gcc编译的程序中他是以左优先的,也就是先打印计算m的结果,让后在计算sum的结果,再打印。

继续阅读

内核和用户态异步通信实例(netlink)

内核版本:2.6.26

内核态程序:knetlink.c

继续阅读

一条audit日志信息的分析

内核版本:2.6.30-rc5

以下是用”demsg|tail“命令抓取的一段信息:

继续阅读

2.6.26下添加系统调用

内核版本:2.6.26

以下是要修改的内核文件:

继续阅读

对audit_context结构的注释

/* The per-task audit context. */ struct audit_context { int dummy; /* must be the first element */ int in_syscall; /* 1 if task is in a syscall 该值是:1 则表示任务在系统调用中 */ enum audit_state state, current_state; //审计级别 有AUDIT_DIABLED:

继续阅读

自定义ELF文件中的section

在看内核代码的时候发现,原来ELF文件的section是完全可以自己定义的。当然这只是作新的增加。 今天请教了王老师,并做了一个简单的测试。但是具体的用意还有点不是很清楚,还有待继续分析ELF文件。

继续阅读