[问题] 新增 system call

楼主: hardware (哈味)   2015-07-13 19:35:13
在网络上的文章大部分介绍 add system call方法都是
1.
/usr/src/linux-2.6.32/arch/x86/kernel/syscall_table_32.S
.long sys_rt_tgsigqueueinfo /* 335 */
.long sys_perf_event_open
.long sys_myoutput /* 337 */
2.
/usr/src/linux-2.6.32/arch/x86/include/asm/unistd_32.h
#define __NR_perf_event_open 336
#define __NR_myoutput 337
#define NR_syscalls 338
#ifdef __KERNEL__
3.
/usr/src/linux-2.6.32/arch/x86/include/asm/syscalls.h
asmlinkage int sys_uname(struct old_utsname __user *);
asmlinkage int sys_olduname(struct oldold_utsname __user *);
asmlinkage int sys_myoutput(void);
4.
/usr/src/linux-2.6.32/kernel/
新增一个 myoutput.c
#include
#include
asmlinkage int sys_myoutput(void)
{
return 10;
}
在这里不懂为什么system call main program 一定要在kernel\ 下
还要同一个档名
不能在 net/core 某个.c档里面吗?
因为我想要用 system call 去取 net/core/dev.c里面变量的值出来
5. Makefile 加进去
6. 重编译 ,user space include进来
作者: dou0228 (7777)   2015-07-14 08:33:00
你先说你要取啥值, 有一定要写 syscall 的必要?
作者: filiaslayers (司马云)   2015-07-14 09:42:00
原po应该只是学习吧

Links booklink

Contact Us: admin [ a t ] ucptt.com