기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요.


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의 정의가 어디있는지를 모르니 분석이 안되고 있는상태입니다...


루비니

2014.07.22 23:35:37
*.218.12.26

ARM의 경우 시스템콜을 하면 SWI 명령에 의해 software interrupt (exception) 이 발생하고,

User 영역에서 내려온 콜번호와 말씀하신 시스템콜 테이블을 이용해 해당함수로 가죠..

sys_xxx() 들은 성격에 따라 여기저기 있는걸로 아는데,

(arch/arm/kernel, fs, net, ..) ctags로 찾아봐도 나올겁니다.

sys_ioctl의 경우 fs/ioctl.c 에 있는거 같네요..


Supsupi

2014.07.23 00:45:18
*.254.202.140

답변 감사드립니다.


ctag, cscope, grep으로 다 뒤져봐도 안나옵니다. ㅠ

예전 커널을 볼때는 sys_ioctl()함수를 fs/ioctl.c에서 본거 같은데


제가 분석하고 있는 kernel의 fs/ioctl.c에는 sys_ioctl()함수가 없습니다.

당황스럽습니다.

루비니

2014.07.24 02:14:44
*.218.12.26

fs/ioctl.c 안에

SYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)

위와 같이 매크로를 이용해 정의되어 있네요..

include/linux/syscalls.h 에 관련 매크로들이 있고요..

결국 'ioctl' 이라는 name 과 3개의 arguments 들이 결합되어 기존의 sys_ioctl 이 되네요.. 

Supsupi

2014.07.24 18:16:43
*.254.202.140

으허~!! 감사드립니다.(_ _)

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5268 Origin Board LCD 쪽보드 회로도 [2] 블루스카이 2012-01-05 1471
5267 mtd partition을 보드 셋업 코드에서 어떻게 나누는 것이 맞는 것... file [4] 혜민아빠 2012-03-14 1470
5266 arndale 보드 wifi 작동 관련 질문 드립니다. [3] nvers 2013-03-23 1470
5265 LCD 출력 I/F에 대해 여쭙니다. [2] 어떤이의꿈 2013-03-12 1469
5264 드디어 OS 부팅까지 ㅠㅠ 성공했네요..그런데 이더넷은 왜?????안되... [4] 혜민아빠 2012-04-20 1467
5263 [aesop6410][eclair] 커널/u-boot/안드로이드 자료 요청 [2] 김정희 2011-11-29 1467
5262 [질문] CP210x 드라이버 오류.. [3] just4you 2010-08-12 1467
5261 블루투스관련 작업해보신분 지식공유좀 부탁드립니다. 죠니주니 2011-10-06 1467
5260 [질문] 그래픽 드라이버에서 바이오스의 정보 참조? 김영삼 2008-02-27 1466
5259 android용 RFS만들 때 alsa지원 [9] 오태호 2009-10-04 1464
5258 ImageView에서 Image 그리는 순서? [2] ys2cdh 2011-11-17 1464
5257 i2c 관련 질문 드립니다. [3] 김승규 2008-02-04 1463
5256 Linaro에서 제공하는 boot, kernel [3] 박영기 2012-09-24 1463
5255 포팅시 주의점에 대해서 문의드립니다. [5] 테크 2013-03-17 1463
5254 LCD + LVDS interface 질문입니다. [3] 진돌이 2010-06-04 1462
5253 Eth 없이 Linux 개발 or 공부 하기 [7] 박명대 2012-02-28 1462
5252 임베디드 병렬처리 질문드립니다. [4] Supsupi 2013-01-19 1462
» system call process 질문드립니다. [4] Supsupi 2014-07-22 1462
5250 u-boot에서 WFE 걸어둔 secondary core들 깨우는법 아시는분(corte... [1] 쁘앙쁘앙 2014-09-06 1462
5249 [완료]rootfs관련 질문. [4] 조성철 2007-03-22 1461

사용자 로그인