기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요.
Linux kernel을 분석중인데
코드를 아무리 봐도 System call Process가 이해가 안됩니다.
high vector에서 점프해서
system call table을 이용하여
/arm/arm/kernel/calls에 있는
sys_xxx() 함수를 호출하는 부분까지는 이해가 됬는데
문제는 sys_xxx() 함수들의 원형잉 도대체 어디있는지를 모르겠네요
Xen에서 ioctl system call을 이용하길레
sys_ioctl로 분기하는 부분까지는 이해는 되었는데
sys_ioctl의 정의가 어디있는지를 모르니 분석이 안되고 있는상태입니다...
ARM의 경우 시스템콜을 하면 SWI 명령에 의해 software interrupt (exception) 이 발생하고,
User 영역에서 내려온 콜번호와 말씀하신 시스템콜 테이블을 이용해 해당함수로 가죠..
sys_xxx() 들은 성격에 따라 여기저기 있는걸로 아는데,
(arch/arm/kernel, fs, net, ..) ctags로 찾아봐도 나올겁니다.
sys_ioctl의 경우 fs/ioctl.c 에 있는거 같네요..