新手不懂写测试程序

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
ray8780
帖子: 2
注册时间: 2010-06-05 3:03

新手不懂写测试程序

#1

帖子 ray8780 » 2010-06-05 3:56

本人刚学ubuntu,用了几天时间学习内核编译和增加系统调用功能,今天编译成功

系统: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);
}
在/usr/src/linux-2.6.34/arch/x86/kernel/syscall_table_32.S中添加:

代码: 全选

.long sys_mycall
在/usr/src/linux-2.6.34/arch/x86/include/asm
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);
}
但出现错误,不知怎么办
图片

希望高手们可以帮我写写测试代码,本人感激不尽啊,谢谢各位!
ray8780
帖子: 2
注册时间: 2010-06-05 3:03

Re: 新手不懂写测试程序

#2

帖子 ray8780 » 2010-06-05 14:43

求高手。。。。
luanyongsdau
帖子: 13
注册时间: 2009-10-04 15:19

Re: 新手不懂写测试程序

#3

帖子 luanyongsdau » 2010-06-28 9:25

代码: 全选

_syscall1 (void,mycall,char *,str)
这个方法还有吗?换成syscall了吧。
回复