系统:Ubuntu10.04,内核:linux-2.6.34.tar.bz2
在/usr/src/linux-2.6.34/kernel/sys.c里添加:
代码: 全选
asmlinkage void sys_mycall(char str)
{
printk(“%s\n”,str);
}
代码: 全选
.long sys_mycall
unistd_32.h中添加:
代码: 全选
#define __NR_mycall 338
书上的代码是:
代码: 全选
#include <stdio.h>
#include <linux/unistd.h>
#include "errno.h"
_syscall1 (void,mycall,char *,str)
void main()
{
char *str="Hello World!\n";
mycall(str);
}
希望高手们可以帮我写写测试代码,本人感激不尽啊,谢谢各位!