Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

46107
469
422678


[라즈베리파이] 시스템 콜 - 유저 공간 시스템 콜 발생 어셈블리 코드 분석 11. 시스템 콜

유저 공간에서 시스템 콜을 발생하는 코드는 어셈블리로 구현되어 있습니다. 그래서 아키텍처별로 시스템 콜을 실행하는 동작이 다릅니다.

ARMv7 아키텍처(라즈베리파이)에서는 유저 공간에서 시스템 콜을 발생하는 동작은 다음과 같습니다.
 
1. r0 ~ r5 레지스터에 시스템 콜로 전달할 인자 지정
2. r7 레지스터에 시스템 콜 번호 저장
3. "svc 0x00000000" 명령어 실행

이어서 GNU C 라이브러리 파일에서 실제 시스템 콜을 실행하는 어셈블리 코드를 봅시다.

* 유튜브 강의 동영상도 있으니 같이 들으시면 좋습니다. 




"혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" 

Thanks,
Austin Kim(austindh.kim@gmail.com)


#Reference: 시스템 콜
시스템 콜 주요 개념 소개
유저 공간에서 시스템 콜은 어떻게 발생할까
시스템 콜 핸들러는 어떤 동작을 할까? 
시스템 콜 실행 완료 후 무슨 일을 할까?
시스템 콜 관련 함수  
시스템 콜 디버깅  


 repository:
http://rousalome.egloos.com/10025751

핑백

덧글

댓글 입력 영역