스템콜 추가
asmlinkage : 어셈블리 언어로 구현된 함수에서 호출될 때 사용하는 keyword
arch/x86/kernel/syscall_table_32.S
최신커널 : /arch/x86/syscalls/syscall_*.tbl
1 ENTRY(sys_call_table) 339 .long sys_bit /* 337 */ //새로 추가 |
어셈블러 지시자들 (자세한 내용은 아래 asm 링크 참고)
/usr/src/linux-2.6.32.65/arch/x86/include/asm/unistd_64.h
최근 /arch/x86/syscalls/syscall_*tbl
134 #define __NR_clone 56
664 #define __NR_bit 299
#define NR_syscalls (__NR_syscall_max + 1) --> 따라가서 변경 ///usr/src/linux-2.6.32.65/include/asm/asm-offsets.h |
ARM
/usr/src/linux-2.6.32.65/arch/arm/include/asm/unistd.h
시스템 콜 번호를 정의한다.
/usr/src/linux-2.6.32.65/include/linux/syscalls.h
kernel 에 소스추가 및 Makefile 에 파일 추가
작성 후 Makefile 에 소스 추가 및 재 컴파일 한다.
함수추가는 : /include/linux/syscalls.h
어플리케이션에서 시스템 콜 호출
--------------------------------------------------------------------
신규버전
참고
asm : http://korea.gnu.org/manual/release/as/as-ko_7.html
KLDP : http://kldp.org/node/91565
linux system call 의 호출 구조 http://www.hanbit.co.kr/network/view.html?bi_id=1062 저자 : 서민우 출처: Embedded World
'리눅스커널' 카테고리의 다른 글
커널컴파일 (0) | 2015.04.17 |
---|---|
시스템콜 (0) | 2015.04.16 |
스와퍼(Swapper)프로세스 (0) | 2015.04.15 |
schedule()함수 (0) | 2015.04.15 |
프로세스1-3 (0) | 2015.04.14 |