[완료] kernel 64bit에서 syscall 등록하는 방법..

woojhs의 이미지

안녕하세요.

kernel관련해서 개발 중, system callback을 등록할 일이 있어 보고 있습니다.

32bit에서는 Entry point 파일이 지정되어 있어 정확하게 알겠는데요.

64bit에서는 Entry point 파일이 없는 것 같습니다. (제가 못 찾는 건지 ㅠㅠ)

이것 저것 삽질하다 고수님의 도움을 받고자 -0-ㅋ

kernel은 3.0.27을 사용하고 있습니다.

woojhs의 이미지

우선 kernel version에 따라서 좀 다르더라구요.

저는 ubuntu 11.10을 사용하는 관계로 3.0.27을 사용하였습니다.

+ arch/x86/include/asm/unistd.h 에 함수 추가. (unistd_64.h)

+ /usr/include/asm/unistd.h 에 같은 모양으로 추가.

+ include/linux/syscalls.h에 함수 추가.

+ arch/x86/kernel/ 아래 필요한 함수 body 추가된 file 추가.

+ arch/x86/kernel/Makfile에 추가된 file 을 추가.

기본 pwd는 linux입니다.