[問題] 新增 system call
在網路上的文章大部分介紹 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進來
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.164.19
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1436787316.A.209.html
→
07/14 08:33, , 1F
07/14 08:33, 1F
推
07/14 09:42, , 2F
07/14 09:42, 2F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章