systemcall을 어디에 등록시켜야 하나요?
안녕하세요...
systemcall이라는 높은 벽에 부딧혀서 계속 삽질중입니다...ㅡㅡ;
아직 원인도 파악을 못해서...
제가 임베디드를 하고는 있지만... 하두 답답해서 지푸라기라도 잡는 심정으로 여기에까지 질문을 올립니다...
전에 i386에서는 entry.S와 unistd.h 두개의 파일에 추가했었는데...
arm에서는 calls.S와 unistd.h 두개의 파일에 추가했습니다...
그런데 arch/arm/kernel 폴더를 보니...
calls.S 외에도 여러가지 파일들이 많이 있거든요...
entry-armo.S, entry-armv.S, entry-common.S, entry-header.S
head-armo.S, head-armv.S, debug-armo.S, debug-armv.S 등 여러 .S파일들이 있는데...
이런 파일들은 무엇을 하는 파일들인가요?
커널 파일중 file.c에 시스템 콜을 추가시켜놓고 copy_from_user명령을 쓰고 있는데...
printk도 먹지를 않네요...
아... 참...
제가 하는 것이 nfs쪽 인데요...
nfs가 모듈로도 들어가 있고... 커널 내부로도 들어가 있습니다...
그런데 모듈로 들어가 있는 것을 빼버리고 싶은데 make modules가 에러나서 그냥 처음에 만들어진 모듈을 쓰고 있습니다...
그런 상태에서 nfs를 커널 안으로 집어넣고, zImage를 nfs를 커널 안에 집어넣은 것으로 대체해서 쓰고 있거든요...
이렇게 쓰면 커널 안에 집어넣은 소스가 모듈보다 우선시 된다고 그래서 그냥 쓰고 있고...
커널 안에 집어넣은 소스를 시스템콜을 사용하여 수정한 것이거든요...
혹시 이것 때문에 안되는 것인가요?
답변 부탁드립니다...
감사합니다...
댓글 달기