system call 만들기
209 hit since 2005/02/20 14:32
system call 함수를 만든다. kernel/mysyscall.c
| #include asmlinkage int sys_mysyscall() { printk("Hello World!n"); } |
kernel 코드를 변경한다
* include/asm/unistd.h#define __NR_mysyscall ### 추가
* arch/i386/kernel/entry.S
파일의 끝부분에 위치한 .long SYMBOL_NAME(sys_mysyscall) 을 위에 수정한 ###번호에 맞는 위치에 넣어준다.
###이 258이라면 SYMBOL_NAME은 258번째에 와야한다.
kernel/Makefile
OBJS에 mysyscall.o 추가커널 컴파일
make bzImage로 커널을 새로 만들어서 부팅하면 방금 추가된 syscall을 사용할 수 있다.확인하는 프로그램
| #include <linux/linkage.h> #include _syscall0(int, mysyscall); int main() { int i = mysyscall(); return i; } |


Trackback (0)
Comment (0)