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

안녕하세요.


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 조회 수

멀티코어에서 각 코어는 모드별 스택주소를 공유하는게 맞나요. [2]

구글 CTS 인증 문의 드릴께요... 젤리빈 4.2.2 입니다. [2]

ARM RESET VECTOR 와 Memory remapping 헷갈려요. [8]

리눅스 파일 크기가 달라요 [1]

Arndale octa (exynos 5420)보드 모듈 인스톨 관련 [1]

  • 티모
  • 2014-08-08
  • 조회 수 1431

android mediaserver 만 restart어떻게 시키나요? [1]

  • 시안
  • 2014-08-05
  • 조회 수 1237

Arndale Board용 linaro Kernel Build 방법? [1]

  • Supsupi
  • 2014-08-05
  • 조회 수 1528

rtems 를 kvm으로 돌리려고 하는데 문제가 생겼습니다.

  • dudu
  • 2014-07-29
  • 조회 수 1264

안드로이드폰을 이용한 CCTV 서버 및 클라이언트 구현 관련...... [2]

BCH Algorithm 관련 질문 [1]

system call process 질문드립니다. [4]

  • Supsupi
  • 2014-07-22
  • 조회 수 1462

인터럽트의 우선 순위를 바꾸려면 어떻게 하면 될까요?

CHIP ID 가 안읽어지는 경우 [3]

키 이벤트 질문 드립니다.

sleep mode진입후 wakeup시 간혹 app가 안살아나는경우가 있는데요 [2]

혹시 구글맵 올려보신 분 계신가요??

임베디드 리눅스 shutdown시에 필요한 전원 on상태의 유지시간? [2]

소스 분석하실때 주로 어떤 방법들을 이용하는지 알고 싶습니다. [4]

  • Supsupi
  • 2014-07-10
  • 조회 수 1699

kikat 4.2.2 에서 surfaceflinger 초기화 하는 부분에 대해서 질문 ... [3]

  • 시안
  • 2014-07-08
  • 조회 수 1754

dtb에 대해서 궁금합니다. [9]

  • Supsupi
  • 2014-07-08
  • 조회 수 1740

사용자 로그인